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:
51
51
NAMESPACE: 1
52
52
INCLUDE_DIR: 1
53
53
INCLUDE_DESTINATION: 1
54
+ INCLUDE_HEADER_PATTERN: 1
54
55
BINARY_DIR: 1
55
56
COMPATIBILITY: 1
56
57
VERSION_HEADER: 1
58
+ EXPORT_HEADER: 1
59
+ DISABLE_VERSION_SUFFIX: 1
60
+ CPACK: 1
61
+ RUNTIME_DESTINATION: 1
57
62
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)
79
79
set (GREETER_VERSION \"${PROJECT_VERSION} \" )
80
80
string(TOUPPER ${PROJECT_NAME} UPPERCASE_PROJECT_NAME)
81
81
configure_file(${PACKAGE_PROJECT_ROOT_PATH} /version.h.in ${VERSION_HEADER_LOCATION} @ONLY)
82
- add_library(${PROJECT_NAME} ::${PROJECT_NAME} ALIAS ${PROJECT_NAME} )
83
82
84
83
if(CMAKE_SKIP_INSTALL_RULES)
84
+ add_library(${PROJECT_NAME} ::${PROJECT_NAME} ALIAS ${PROJECT_NAME} )
85
85
return()
86
86
endif()
87
87
@@ -93,9 +93,9 @@ packageProject(
93
93
VERSION ${PROJECT_VERSION}
94
94
NAMESPACE ${PROJECT_NAME}
95
95
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
99
97
COMPATIBILITY SameMajorVersion
98
+ RUNTIME_DESTINATION /
100
99
DEPENDENCIES " fmt 11.1.4 "
100
+ HEADER_SETS public_headers
101
101
)
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 )
2
2
3
3
set (PACKAGE_PROJECT_ROOT_PATH
4
4
"${CMAKE_CURRENT_LIST_DIR} "
5
5
CACHE INTERNAL "The path to the PackageProject directory"
6
6
)
7
7
8
+ # if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.31.0") cmake_policy(SET CMP0177 NEW) endif()
9
+
8
10
function (packageProject )
9
11
include (CMakePackageConfigHelpers )
10
12
include (GNUInstallDirs )
@@ -13,7 +15,7 @@ function(packageProject)
13
15
PROJECT
14
16
""
15
17
"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 "
17
19
${ARGN}
18
20
)
19
21
@@ -133,6 +135,11 @@ function(packageProject)
133
135
set (PROJECT_RUNTIME_DESTINATION ${PROJECT_NAME}${PROJECT_VERSION_SUFFIX} )
134
136
endif ()
135
137
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
+
136
143
install (
137
144
TARGETS ${PROJECT_NAME}
138
145
EXPORT ${PROJECT_NAME} Targets
@@ -148,7 +155,7 @@ function(packageProject)
148
155
PUBLIC_HEADER
149
156
DESTINATION ${PROJECT_INCLUDE_DESTINATION}
150
157
COMPONENT "${PROJECT_NAME} _Development"
151
- FILE_SET public_headers
158
+ ${FILE_SET_ARGS}
152
159
INCLUDES
153
160
DESTINATION "${PROJECT_INCLUDE_DESTINATION} "
154
161
)
You can’t perform that action at this time.
0 commit comments