Skip to content
代码片段 群组 项目

Make idiomatic cmake install so third party cmake installers work right.

上级 49c6d492
No related branches found
No related tags found
无相关合并请求
...@@ -127,6 +127,7 @@ if (ZSTD_BUILD_STATIC) ...@@ -127,6 +127,7 @@ if (ZSTD_BUILD_STATIC)
set_target_properties( set_target_properties(
libzstd_static libzstd_static
PROPERTIES PROPERTIES
POSITION_INDEPENDENT_CODE On
OUTPUT_NAME ${STATIC_LIBRARY_BASE_NAME}) OUTPUT_NAME ${STATIC_LIBRARY_BASE_NAME})
endif () endif ()
...@@ -146,22 +147,43 @@ endif () ...@@ -146,22 +147,43 @@ endif ()
# install target # install target
install(FILES install(FILES
${LIBRARY_DIR}/zstd.h "${LIBRARY_DIR}/zstd.h"
${LIBRARY_DIR}/deprecated/zbuff.h "${LIBRARY_DIR}/deprecated/zbuff.h"
${LIBRARY_DIR}/dictBuilder/zdict.h "${LIBRARY_DIR}/dictBuilder/zdict.h"
${LIBRARY_DIR}/dictBuilder/cover.h "${LIBRARY_DIR}/dictBuilder/cover.h"
${LIBRARY_DIR}/common/zstd_errors.h "${LIBRARY_DIR}/common/zstd_errors.h"
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
if (ZSTD_BUILD_SHARED) 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}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") )
endif() endif()
if (ZSTD_BUILD_STATIC) 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 () 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 # uninstall target
if (NOT TARGET uninstall) if (NOT TARGET uninstall)
configure_file( configure_file(
......
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()
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册