Make idiomatic cmake install so third party cmake installers work right.
This commit is contained in:
parent
49c6d49247
commit
23e997439a
@ -127,6 +127,7 @@ if (ZSTD_BUILD_STATIC)
|
||||
set_target_properties(
|
||||
libzstd_static
|
||||
PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE On
|
||||
OUTPUT_NAME ${STATIC_LIBRARY_BASE_NAME})
|
||||
endif ()
|
||||
|
||||
@ -146,22 +147,43 @@ endif ()
|
||||
|
||||
# install target
|
||||
install(FILES
|
||||
${LIBRARY_DIR}/zstd.h
|
||||
${LIBRARY_DIR}/deprecated/zbuff.h
|
||||
${LIBRARY_DIR}/dictBuilder/zdict.h
|
||||
${LIBRARY_DIR}/dictBuilder/cover.h
|
||||
${LIBRARY_DIR}/common/zstd_errors.h
|
||||
"${LIBRARY_DIR}/zstd.h"
|
||||
"${LIBRARY_DIR}/deprecated/zbuff.h"
|
||||
"${LIBRARY_DIR}/dictBuilder/zdict.h"
|
||||
"${LIBRARY_DIR}/dictBuilder/cover.h"
|
||||
"${LIBRARY_DIR}/common/zstd_errors.h"
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||
|
||||
if (ZSTD_BUILD_SHARED)
|
||||
install(TARGETS libzstd_shared RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
install(TARGETS libzstd_shared EXPORT zstdExports
|
||||
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
)
|
||||
endif()
|
||||
if (ZSTD_BUILD_STATIC)
|
||||
install(TARGETS libzstd_static ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
install(TARGETS libzstd_static EXPORT zstdExports
|
||||
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
)
|
||||
endif ()
|
||||
|
||||
# export targets + find config
|
||||
configure_file(
|
||||
"config.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/zstdConfig.cmake"
|
||||
@ONLY
|
||||
)
|
||||
install(FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/zstdConfig.cmake"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/zstd"
|
||||
)
|
||||
install(EXPORT zstdExports
|
||||
NAMESPACE zstd::
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/zstd"
|
||||
)
|
||||
|
||||
# uninstall target
|
||||
if (NOT TARGET uninstall)
|
||||
configure_file(
|
||||
|
7
build/cmake/lib/config.cmake.in
Normal file
7
build/cmake/lib/config.cmake.in
Normal file
@ -0,0 +1,7 @@
|
||||
include(FindPackageHandleStandardArgs)
|
||||
set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG ${CMAKE_CURRENT_LIST_FILE})
|
||||
find_package_handle_standard_args(zstd CONFIG_MODE)
|
||||
|
||||
if(NOT TARGET zstd::libzstd_shared)
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/zstdExports.cmake")
|
||||
endif()
|
Loading…
x
Reference in New Issue
Block a user