You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -103,7 +181,7 @@ It gets the following named parameters that can have different values in front o
103
181
-`CLANG_WARNINGS`: Override the defaults for the CLANG warnings
104
182
-`GCC_WARNINGS`: Override the defaults for the GCC warnings
105
183
-`CUDA_WARNINGS`: Override the defaults for the CUDA warnings
106
-
-`CPPCHECK_WARNINGS`: Override the defaults for the options passed to CPPCHECK
184
+
-`CPPCHECK_WARNINGS`: Override the defaults for the options passed to cppcheck
107
185
-`CONAN_OPTIONS`: Extra Conan options
108
186
109
187
## `run_vcpkg` function
@@ -124,7 +202,7 @@ Named String:
124
202
A function that accepts the same arguments as `target_link_libraries`. It has the following features:
125
203
126
204
- The include directories of the library are included as `SYSTEM` to suppress their warnings. This helps in enabling `WARNINGS_AS_ERRORS` for your own source code.
127
-
- For installation of the package, the includes are considered to be at `${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}`.
205
+
- For installation of the package, the includes are considered to be at `${CMAKE_INSTALL_INCLUDEDIR}`.
A function that packages the project for external usage (e.g. from vcpkg, Conan, etc).
225
+
226
+
The following arguments specify the package:
227
+
228
+
-`TARGETS`: the targets you want to package. It is recursively found for the current folder if not specified
229
+
230
+
-`PUBLIC_INCLUDES`: a list of public/interface include directories or files.
231
+
_the given include directories are directly installed to the install destination. To have an `include` folder in the install destination with the content of your include directory, name your directory `include`._
232
+
233
+
-`PUBLIC_DEPENDENCIES_CONFIGURED`: the names of the INTERFACE/PUBLIC dependencies that are found using `CONFIG`.
234
+
235
+
-`PUBLIC_DEPENDENCIES`: the INTERFACE/PUBLIC dependencies that are found by any means using `find_dependency`. The arguments must be specified within quotes (e.g. `"<dependency> 1.0.0 EXACT"` or `"<dependency> CONFIG"`).
236
+
237
+
-`PRIVATE_DEPENDENCIES_CONFIGURED`: the names of the PRIVATE dependencies found using `CONFIG`. Only included when `BUILD_SHARED_LIBS` is `OFF`.
238
+
239
+
-`PRIVATE_DEPENDENCIES`: the PRIVATE dependencies found by any means using `find_dependency`. Only included when `BUILD_SHARED_LIBS` is `OFF`
240
+
241
+
Other arguments that are automatically found and manually specifying them is not recommended:
242
+
243
+
-`NAME`: the name of the package. Defaults to `${PROJECT_NAME}`.
244
+
245
+
-`VERSION`: the version of the package. Defaults to `${PROJECT_VERSION}`.
246
+
247
+
-`COMPATIBILITY`: the compatibility version of the package. Defaults to `SameMajorVersion`.
248
+
249
+
-`CONFIG_EXPORT_DESTINATION`: the destination for exporting the configuration files. Defaults to `${CMAKE_BINARY_DIR}`
250
+
251
+
-`CONFIG_INSTALL_DESTINATION`: the destination for installation of the configuration files. Defaults to `${CMAKE_INSTALL_DATADIR}/${NAME}`
252
+
144
253
## Changing the project_options dynamically
145
254
146
255
During the test and development, it can be useful to change options on the fly. For example, to enable sanitizers when running tests. You can include `DynamicOptions.cmake`, which imports the `dynamic_project_options` function.
0 commit comments