diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2022-02-24 23:09:53 (GMT) |
---|---|---|
committer | Kyle Edwards <kyle.edwards@kitware.com> | 2022-03-29 17:58:27 (GMT) |
commit | c798744f8193e97f00f1b6e47dc5bc6fdc34b222 (patch) | |
tree | 27b2dc2cbd04d45026319bbe006acd72bb0f3dff /Help/prop_tgt | |
parent | fdbef2a2be1f070e0f0809536639ff20d80584e6 (diff) | |
download | CMake-c798744f8193e97f00f1b6e47dc5bc6fdc34b222.zip CMake-c798744f8193e97f00f1b6e47dc5bc6fdc34b222.tar.gz CMake-c798744f8193e97f00f1b6e47dc5bc6fdc34b222.tar.bz2 |
FILE_SET: Add VERIFY_HEADER_SETS target property
Fixes: #23338
Diffstat (limited to 'Help/prop_tgt')
-rw-r--r-- | Help/prop_tgt/VERIFY_HEADER_SETS.rst | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Help/prop_tgt/VERIFY_HEADER_SETS.rst b/Help/prop_tgt/VERIFY_HEADER_SETS.rst new file mode 100644 index 0000000..cbfd51b --- /dev/null +++ b/Help/prop_tgt/VERIFY_HEADER_SETS.rst @@ -0,0 +1,24 @@ +VERIFY_HEADER_SETS +------------------ + +.. versionadded:: 3.24 + +Used to verify that all headers in a target's header sets can be included on +their own. + +When this property is set to true, and the target is an object library, static +library, shared library, or executable with exports enabled, and the target +has one or more header sets, an object library target named +``<target_name>_verify_header_sets`` is created. This verification target has +one source file per header in the header sets. Each source file only includes +its associated header file. The verification target links against the original +target to get all of its usage requirements. The verification target has its +:prop_tgt:`EXCLUDE_FROM_ALL` and :prop_tgt:`DISABLE_PRECOMPILE_HEADERS` +properties set to true, and its :prop_tgt:`AUTOMOC`, :prop_tgt:`AUTORCC`, +:prop_tgt:`AUTOUIC`, and :prop_tgt:`UNITY_BUILD` properties set to false. + +If the header's :prop_sf:`LANGUAGE` property is set, the value of that property +is used to determine the language with which to compile the header file. +Otherwise, if the target has any C++ sources, the header is compiled as C++. +Otherwise, if the target has any C sources, the header is compiled as C. +Otherwise, the header file is not compiled. |