From: Theodore Tsirpanis Date: Tue, 27 Feb 2024 21:39:59 +0000 (+0200) Subject: Define the unified target inside the CMake project, and export it. X-Git-Tag: v1.5.6^2~58^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dcd713ce06fd9729e2e1eefa079be866f5e2f519;p=thirdparty%2Fzstd.git Define the unified target inside the CMake project, and export it. This is less error-prone. --- diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt index 2b64a07e2..7e16470fd 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -145,6 +145,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.in b/build/cmake/zstdConfig.cmake.in index 0a7f773d7..f4190f989 100644 --- a/build/cmake/zstdConfig.cmake.in +++ b/build/cmake/zstdConfig.cmake.in @@ -7,18 +7,4 @@ endif() include("${CMAKE_CURRENT_LIST_DIR}/zstdTargets.cmake") -if(NOT TARGET zstd::libzstd) - if(@ZSTD_BUILD_SHARED@ AND NOT @ZSTD_BUILD_STATIC@) - add_library(zstd::libzstd INTERFACE IMPORTED) - set_target_properties(zstd::libzstd PROPERTIES - INTERFACE_LINK_LIBRARIES "zstd::libzstd_shared" - ) - elseif(NOT @ZSTD_BUILD_SHARED@ AND @ZSTD_BUILD_STATIC@) - add_library(zstd::libzstd INTERFACE IMPORTED) - set_target_properties(zstd::libzstd PROPERTIES - INTERFACE_LINK_LIBRARIES "zstd::libzstd_static" - ) - endif() -endif() - check_required_components("zstd")