summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt
diff options
context:
space:
mode:
authorKyle Edwards <kyle.edwards@kitware.com>2022-02-24 23:09:53 (GMT)
committerKyle Edwards <kyle.edwards@kitware.com>2022-03-29 17:58:27 (GMT)
commitc798744f8193e97f00f1b6e47dc5bc6fdc34b222 (patch)
tree27b2dc2cbd04d45026319bbe006acd72bb0f3dff /Help/prop_tgt
parentfdbef2a2be1f070e0f0809536639ff20d80584e6 (diff)
downloadCMake-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.rst24
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.