Merge pull request #789 from offlinemark/mark/cmake-clean

cmake: Refactor targets export variable and improve comments
This commit is contained in:
Lee Thomason
2020-09-17 13:28:16 -07:00
committed by GitHub

View File

@@ -46,6 +46,8 @@ set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
# to distinguish between debug and release lib
set(CMAKE_DEBUG_POSTFIX "d")
set(TARGETS_EXPORT_NAME "${CMAKE_PROJECT_NAME}Targets")
add_library(tinyxml2 tinyxml2.cpp tinyxml2.h)
set_target_properties(tinyxml2 PROPERTIES
@@ -71,12 +73,13 @@ else()
endif(MSVC)
endif()
# export targets for find_package config mode
# Export cmake script that can be used by downstream project
# via `include()`
export(TARGETS tinyxml2
FILE ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}Targets.cmake)
FILE ${CMAKE_BINARY_DIR}/${TARGETS_EXPORT_NAME}.cmake)
install(TARGETS tinyxml2
EXPORT ${CMAKE_PROJECT_NAME}Targets
EXPORT ${TARGETS_EXPORT_NAME}
RUNTIME
DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT tinyxml2_runtime
@@ -119,7 +122,6 @@ if(NOT TARGET uninstall)
endif()
include(CMakePackageConfigHelpers)
set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets")
configure_package_config_file(
"Config.cmake.in"
"${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake"
@@ -136,6 +138,7 @@ install(FILES
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}
COMPONENT tinyxml2_config)
install(EXPORT ${CMAKE_PROJECT_NAME}Targets NAMESPACE tinyxml2::
# Export targets for find_package config mode
install(EXPORT ${TARGETS_EXPORT_NAME} NAMESPACE tinyxml2::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${CMAKE_PROJECT_NAME}
COMPONENT tinyxml2_config)