From 84452d2ca986ee09e2e90474bb4d9c63fdece1fb Mon Sep 17 00:00:00 2001 From: aalbaali Date: Sat, 27 Apr 2024 16:01:12 -0400 Subject: [PATCH] Generalize cmake target installation Signed-off-by: aalbaali --- CMakeLists.txt | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index abe17ea..deb9a42 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,17 +31,20 @@ endif() # Installation ################################################ # Export package for use from the build tree -set(TRANSFORMS_GRAPH_CMAKE_EXPORT_DIR lib/cmake/TransformsGraph) +set(CMAKE_EXPORT_DIR lib/cmake/TransformsGraph) +set(TARGETS_NAME "TransformsGraph") +set(TARGETS_NAMESPACE "TransformsGraph") +set(TARGETS_CONFIG_FILENAME "${TARGETS_NAME}Config.cmake.in") install( - TARGETS TransformsGraph - EXPORT TransformsGraphTargets + TARGETS "${TARGETS_NAME}" + EXPORT "${TARGETS_NAME}Targets" ARCHIVE DESTINATION lib LIBRARY DESTINATION lib ) -install(EXPORT TransformsGraphTargets - NAMESPACE TransformsGraph:: - DESTINATION ${TRANSFORMS_GRAPH_CMAKE_EXPORT_DIR} +install(EXPORT "${TARGETS_NAME}Targets" + NAMESPACE "${TARGETS_NAMESPACE}::" + DESTINATION ${CMAKE_EXPORT_DIR} ) # Install the include directory @@ -51,14 +54,14 @@ install( ) include(CMakePackageConfigHelpers) configure_package_config_file( - "TransformsGraphConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/TransformsGraphConfig.cmake" - INSTALL_DESTINATION "${TRANSFORMS_GRAPH_CMAKE_EXPORT_DIR}" + "${TARGETS_CONFIG_FILENAME}" "${CMAKE_CURRENT_BINARY_DIR}/${TARGETS_NAME}Config.cmake" + INSTALL_DESTINATION "${CMAKE_EXPORT_DIR}" ) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/TransformsGraphConfig.cmake" DESTINATION "${TRANSFORMS_GRAPH_CMAKE_EXPORT_DIR}") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${TARGETS_NAME}Config.cmake" DESTINATION "${CMAKE_EXPORT_DIR}") # Export without installing export( EXPORT TransformsGraphTargets - FILE "${CMAKE_CURRENT_BINARY_DIR}/TransformsGraphTargets.cmake" - NAMESPACE TransformsGraph:: + FILE "${CMAKE_CURRENT_BINARY_DIR}/${TARGETS_NAME}Targets.cmake" + NAMESPACE "${TARGETS_NAMESPACE}::" )