Merge pull request #3811 from teo-tsirpanis/unified-target
Export a `zstd::libzstd` CMake target if only static or dynamic linkage is specified.
This commit is contained in:
@@ -180,10 +180,6 @@ export(EXPORT zstdExports
|
|||||||
FILE "${CMAKE_CURRENT_BINARY_DIR}/zstdTargets.cmake"
|
FILE "${CMAKE_CURRENT_BINARY_DIR}/zstdTargets.cmake"
|
||||||
NAMESPACE zstd::
|
NAMESPACE zstd::
|
||||||
)
|
)
|
||||||
configure_file(zstdConfig.cmake
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/zstdConfig.cmake"
|
|
||||||
COPYONLY
|
|
||||||
)
|
|
||||||
|
|
||||||
# A Package Config file that works from the installation directory
|
# A Package Config file that works from the installation directory
|
||||||
set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/zstd)
|
set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/zstd)
|
||||||
@@ -192,8 +188,13 @@ install(EXPORT zstdExports
|
|||||||
NAMESPACE zstd::
|
NAMESPACE zstd::
|
||||||
DESTINATION ${ConfigPackageLocation}
|
DESTINATION ${ConfigPackageLocation}
|
||||||
)
|
)
|
||||||
|
configure_package_config_file(
|
||||||
|
zstdConfig.cmake.in
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/zstdConfig.cmake"
|
||||||
|
INSTALL_DESTINATION ${ConfigPackageLocation}
|
||||||
|
)
|
||||||
install(FILES
|
install(FILES
|
||||||
zstdConfig.cmake
|
"${CMAKE_CURRENT_BINARY_DIR}/zstdConfig.cmake"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/zstdConfigVersion.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/zstdConfigVersion.cmake"
|
||||||
DESTINATION ${ConfigPackageLocation}
|
DESTINATION ${ConfigPackageLocation}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -149,6 +149,16 @@ if (ZSTD_BUILD_STATIC)
|
|||||||
add_definition(libzstd_static ZSTDLIB_STATIC_API)
|
add_definition(libzstd_static ZSTDLIB_STATIC_API)
|
||||||
add_definition(libzstd_static ZDICTLIB_STATIC_API)
|
add_definition(libzstd_static ZDICTLIB_STATIC_API)
|
||||||
endif ()
|
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
|
# Add specific compile definitions for MSVC project
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
include("${CMAKE_CURRENT_LIST_DIR}/zstdTargets.cmake")
|
|
||||||
@@ -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")
|
||||||
Reference in New Issue
Block a user