@@ -252,6 +252,12 @@ The following properties affect the CMakeDeps generator:
252
252
- **cmake_additional_variables_prefixes **: List of prefixes to be used when creating CMake variables in the config
253
253
files. These variables are created with ``file_name `` as prefix by default, but setting this property will create
254
254
additional variables with the specified prefixes alongside the default ``file_name `` one.
255
+ - **cmake_extra_variables **: Dictionary of extra variables to be added to the generated config file.
256
+ The keys of the dictionary are the variable names and the values are the variable values,
257
+ which can be a plain string, a number or a dict-like python object which must specify
258
+ the ``value `` (string/number) , ``cache `` (boolean), ``type `` (CMake cache type) and optionally,
259
+ ``docstring `` (string: defaulted to variable name) and ``force `` (boolean) keys. Note that this has
260
+ less preference over those values defined in the ``tools.cmake.cmaketoolchain:extra_variables `` conf.
255
261
256
262
Example:
257
263
@@ -282,6 +288,14 @@ Example:
282
288
# Generate both MyFileNameConfig.cmake and FindMyFileName.cmake
283
289
self .cpp_info.set_property(" cmake_find_mode" , " both" )
284
290
291
+ # Add extra variables to the generated config file
292
+ self .cpp_info.set_property(" cmake_extra_variables" , {
293
+ " FOO" : 42 ,
294
+ " CMAKE_GENERATOR_INSTANCE" : " ${GENERATOR_INSTANCE} /buildTools/" ,
295
+ " CACHE_VAR_DEFAULT_DOC" : {" value" : " hello world" ,
296
+ " cache" : True , " type" : " STRING" }
297
+ })
298
+
285
299
286
300
Overwrite properties from the consumer side using CMakeDeps.set_property()
287
301
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
0 commit comments