The following is a guide to CMake experimental features that are under development and not yet included in official documentation. See documentation on CMake Development for more information.
Features are gated behind CMAKE_EXPERIMENTAL_
variables which must be set
to specific values in order to enable their gated behaviors. Note that the
specific values will change over time to reinforce their experimental nature.
When used, a warning will be generated to indicate that an experimental
feature is in use and that the affected behavior in the project is not part of
CMake's stability guarantees.
In order to activate support for this experimental feature, set
- variable
CMAKE_EXPERIMENTAL_EXPORT_PACKAGE_DEPENDENCIES
to - value
1942b4fa-b2c5-4546-9385-83f254070067
.
This UUID may change in future versions of CMake. Be sure to use the value documented here by the source tree of the version of CMake with which you are experimenting.
When activated, this experimental feature provides the following:
- The
install(EXPORT)
andexport(EXPORT)
commands have experimentalEXPORT_PACKAGE_DEPENDENCIES
arguments to generatefind_dependency
calls automatically. - Details of the calls may be configured using the
export(SETUP)
command'sPACKAGE_DEPENDENCY
argument. - The package name associated with specific targets may be specified
using the
CMAKE_EXPORT_FIND_PACKAGE_NAME
variable and/or
EXPORT_FIND_PACKAGE_NAME
target property.
In order to activate support for import std
in C++23 and newer targets,
set
- variable
CMAKE_EXPERIMENTAL_CXX_IMPORT_STD
to - value
0e5b6991-d74f-4b3d-a41c-cf096e0b2508
.
This UUID may change in future versions of CMake. Be sure to use the value
documented here by the source tree of the version of CMake with which you are
experimenting. It must be set before the CXX
toolchain is discovered by
CMake, usually as part of a :command:`project` call.
When activated, this experimental feature provides the following:
- The :prop_tgt:`CXX_MODULE_STD` target property and its initializing variable :variable:`CMAKE_CXX_MODULE_STD`.
- Targets with the property set to a true value and at least
cxx_std_23
may useimport std;
in any scanned C++ source file.