Skip to content

Commit

Permalink
Generalize cmake target installation
Browse files Browse the repository at this point in the history
Signed-off-by: aalbaali <albaalia@live.com>
  • Loading branch information
aalbaali committed Apr 27, 2024
1 parent c85b69b commit 84452d2
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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}::"
)

0 comments on commit 84452d2

Please sign in to comment.