File tree Expand file tree Collapse file tree 3 files changed +20
-7
lines changed
Expand file tree Collapse file tree 3 files changed +20
-7
lines changed Original file line number Diff line number Diff line change @@ -51,7 +51,13 @@ parse:
5151 NAMESPACE: 1
5252 INCLUDE_DIR: 1
5353 INCLUDE_DESTINATION: 1
54+ INCLUDE_HEADER_PATTERN: 1
5455 BINARY_DIR: 1
5556 COMPATIBILITY: 1
5657 VERSION_HEADER: 1
58+ EXPORT_HEADER: 1
59+ DISABLE_VERSION_SUFFIX: 1
60+ CPACK: 1
61+ RUNTIME_DESTINATION: 1
5762 DEPENDENCIES: +
63+ HEADER_SETS: +
Original file line number Diff line number Diff line change @@ -79,9 +79,9 @@ target_link_libraries(${PROJECT_NAME} PRIVATE fmt::fmt)
7979set (GREETER_VERSION \"${PROJECT_VERSION} \")
8080string (TOUPPER ${PROJECT_NAME} UPPERCASE_PROJECT_NAME)
8181configure_file (${PACKAGE_PROJECT_ROOT_PATH} /version .h.in ${VERSION_HEADER_LOCATION} @ONLY)
82- add_library (${PROJECT_NAME} ::${PROJECT_NAME} ALIAS ${PROJECT_NAME} )
8382
8483if (CMAKE_SKIP_INSTALL_RULES)
84+ add_library (${PROJECT_NAME} ::${PROJECT_NAME} ALIAS ${PROJECT_NAME} )
8585 return ()
8686endif ()
8787
@@ -93,9 +93,9 @@ packageProject(
9393 VERSION ${PROJECT_VERSION}
9494 NAMESPACE ${PROJECT_NAME}
9595 BINARY_DIR ${PROJECT_BINARY_DIR}
96- INCLUDE_DIR ${PROJECT_SOURCE_DIR} /include
97- # XXX INCLUDE_DESTINATION include/${PROJECT_NAME}-${PROJECT_VERSION} XXX VERSION_HEADER
98- # "${VERSION_HEADER_LOCATION}"
96+ # Not used! INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include
9997 COMPATIBILITY SameMajorVersion
98+ RUNTIME_DESTINATION /
10099 DEPENDENCIES "fmt 11.1.4"
100+ HEADER_SETS public_headers
101101)
Original file line number Diff line number Diff line change 1- cmake_minimum_required (VERSION 3.14)
1+ cmake_minimum_required (VERSION 3.14...3.31 )
22
33set (PACKAGE_PROJECT_ROOT_PATH
44 "${CMAKE_CURRENT_LIST_DIR} "
55 CACHE INTERNAL "The path to the PackageProject directory"
66)
77
8+ # if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.31.0") cmake_policy(SET CMP0177 NEW) endif()
9+
810function (packageProject)
911 include (CMakePackageConfigHelpers)
1012 include (GNUInstallDirs)
@@ -13,7 +15,7 @@ function(packageProject)
1315 PROJECT
1416 ""
1517 "NAME;VERSION;INCLUDE_DIR;INCLUDE_DESTINATION;BINARY_DIR;COMPATIBILITY;EXPORT_HEADER;VERSION_HEADER;NAMESPACE;DISABLE_VERSION_SUFFIX;ARCH_INDEPENDENT;INCLUDE_HEADER_PATTERN;CPACK;RUNTIME_DESTINATION"
16- "DEPENDENCIES"
18+ "DEPENDENCIES;HEADER_SETS "
1719 ${ARGN}
1820 )
1921
@@ -133,6 +135,11 @@ function(packageProject)
133135 set (PROJECT_RUNTIME_DESTINATION ${PROJECT_NAME}${PROJECT_VERSION_SUFFIX} )
134136 endif ()
135137
138+ if (PROJECT_HEADER_SETS)
139+ # required to install if use in project target since CMake 3.23
140+ set (FILE_SET_ARGS "FILE_SET" "${PROJECT_HEADER_SETS} " )
141+ endif ()
142+
136143 install (
137144 TARGETS ${PROJECT_NAME}
138145 EXPORT ${PROJECT_NAME} Targets
@@ -148,7 +155,7 @@ function(packageProject)
148155 PUBLIC_HEADER
149156 DESTINATION ${PROJECT_INCLUDE_DESTINATION}
150157 COMPONENT "${PROJECT_NAME} _Development"
151- FILE_SET public_headers
158+ ${FILE_SET_ARGS}
152159 INCLUDES
153160 DESTINATION "${PROJECT_INCLUDE_DESTINATION} "
154161 )
You can’t perform that action at this time.
0 commit comments