diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt index 023b998f5..cb8e4de85 100644 --- a/build/cmake/CMakeLists.txt +++ b/build/cmake/CMakeLists.txt @@ -180,10 +180,6 @@ export(EXPORT zstdExports FILE "${CMAKE_CURRENT_BINARY_DIR}/zstdTargets.cmake" NAMESPACE zstd:: ) -configure_file(zstdConfig.cmake - "${CMAKE_CURRENT_BINARY_DIR}/zstdConfig.cmake" - COPYONLY - ) # A Package Config file that works from the installation directory set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/zstd) @@ -192,8 +188,13 @@ install(EXPORT zstdExports NAMESPACE zstd:: DESTINATION ${ConfigPackageLocation} ) +configure_package_config_file( + zstdConfig.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/zstdConfig.cmake" + INSTALL_DESTINATION ${ConfigPackageLocation} +) install(FILES - zstdConfig.cmake + "${CMAKE_CURRENT_BINARY_DIR}/zstdConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/zstdConfigVersion.cmake" DESTINATION ${ConfigPackageLocation} ) diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt index 5e52ef1e4..f5820af57 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -149,6 +149,16 @@ if (ZSTD_BUILD_STATIC) add_definition(libzstd_static ZSTDLIB_STATIC_API) add_definition(libzstd_static ZDICTLIB_STATIC_API) endif () +if (ZSTD_BUILD_SHARED AND NOT ZSTD_BUILD_STATIC) + add_library(libzstd INTERFACE) + target_link_libraries(libzstd INTERFACE libzstd_shared) + list(APPEND library_targets libzstd) +endif () +if (ZSTD_BUILD_STATIC AND NOT ZSTD_BUILD_SHARED) + add_library(libzstd INTERFACE) + target_link_libraries(libzstd INTERFACE libzstd_static) + list(APPEND library_targets libzstd) +endif () # Add specific compile definitions for MSVC project if (MSVC) diff --git a/build/cmake/zstdConfig.cmake b/build/cmake/zstdConfig.cmake deleted file mode 100644 index ebbfcc38f..000000000 --- a/build/cmake/zstdConfig.cmake +++ /dev/null @@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/zstdTargets.cmake") diff --git a/build/cmake/zstdConfig.cmake.in b/build/cmake/zstdConfig.cmake.in new file mode 100644 index 000000000..f4190f989 --- /dev/null +++ b/build/cmake/zstdConfig.cmake.in @@ -0,0 +1,10 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) +if(@ZSTD_MULTITHREAD_SUPPORT@ AND "@UNIX@") + find_dependency(Threads) +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/zstdTargets.cmake") + +check_required_components("zstd")