Define the unified target inside the CMake project, and export it.

This is less error-prone.
This commit is contained in:
Theodore Tsirpanis
2024-02-27 23:39:59 +02:00
parent 475da4fb2e
commit dcd713ce06
2 changed files with 10 additions and 14 deletions
+10
View File
@@ -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)
-14
View File
@@ -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")