summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-09-10 20:32:32 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-09-10 20:32:39 (GMT)
commit48ed3bae5874db9f9a470ae18de42222d7a252b4 (patch)
tree43f3558f8e1a5b11eda4bcbdd17d837f45f3c5c8 /Help
parente32f4da74a69b2fa80e33da286f8f06671d0a8b5 (diff)
parent8c8f03422e3197a3414a8ed1413fcb9576df0f4b (diff)
downloadCMake-48ed3bae5874db9f9a470ae18de42222d7a252b4.zip
CMake-48ed3bae5874db9f9a470ae18de42222d7a252b4.tar.gz
CMake-48ed3bae5874db9f9a470ae18de42222d7a252b4.tar.bz2
Merge topic 'pch-instantiate-templates'
8c8f03422e PCH: Template instantiation support Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Raul Tambre <raul@tambre.ee> Acked-by: Cristian Adam <cristian.adam@gmail.com> Tested-by: Raul Tambre <raul@tambre.ee> Merge-request: !5168
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-properties.7.rst1
-rw-r--r--Help/manual/cmake-variables.7.rst1
-rw-r--r--Help/prop_tgt/PCH_INSTANTIATE_TEMPLATES.rst13
-rw-r--r--Help/release/dev/PCH_INSTANTIATE_TEMPLATES.rst7
-rw-r--r--Help/variable/CMAKE_PCH_INSTANTIATE_TEMPLATES.rst7
5 files changed, 29 insertions, 0 deletions
diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst
index 73130b6..cb9579e 100644
--- a/Help/manual/cmake-properties.7.rst
+++ b/Help/manual/cmake-properties.7.rst
@@ -315,6 +315,7 @@ Properties on Targets
/prop_tgt/OUTPUT_NAME_CONFIG
/prop_tgt/OUTPUT_NAME
/prop_tgt/PCH_WARN_INVALID
+ /prop_tgt/PCH_INSTANTIATE_TEMPLATES
/prop_tgt/PDB_NAME_CONFIG
/prop_tgt/PDB_NAME
/prop_tgt/PDB_OUTPUT_DIRECTORY_CONFIG
diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst
index f776018..d50005c 100644
--- a/Help/manual/cmake-variables.7.rst
+++ b/Help/manual/cmake-variables.7.rst
@@ -444,6 +444,7 @@ Variables that Control the Build
/variable/CMAKE_OSX_DEPLOYMENT_TARGET
/variable/CMAKE_OSX_SYSROOT
/variable/CMAKE_PCH_WARN_INVALID
+ /variable/CMAKE_PCH_INSTANTIATE_TEMPLATES
/variable/CMAKE_PDB_OUTPUT_DIRECTORY
/variable/CMAKE_PDB_OUTPUT_DIRECTORY_CONFIG
/variable/CMAKE_POSITION_INDEPENDENT_CODE
diff --git a/Help/prop_tgt/PCH_INSTANTIATE_TEMPLATES.rst b/Help/prop_tgt/PCH_INSTANTIATE_TEMPLATES.rst
new file mode 100644
index 0000000..7c1af2a
--- /dev/null
+++ b/Help/prop_tgt/PCH_INSTANTIATE_TEMPLATES.rst
@@ -0,0 +1,13 @@
+PCH_INSTANTIATE_TEMPLATES
+-------------------------
+
+.. versionadded:: 3.19
+
+When this property is set to true, the precompiled header compiler options
+will contain a flag to instantiate templates during the generation of the PCH
+if supported. This can significantly improve compile times. Supported in Clang
+since version 11.
+
+This property is initialized by the value of the
+:variable:`CMAKE_PCH_INSTANTIATE_TEMPLATES` variable if it is set when a target
+is created. If that variable is not set, the property defaults to ``ON``.
diff --git a/Help/release/dev/PCH_INSTANTIATE_TEMPLATES.rst b/Help/release/dev/PCH_INSTANTIATE_TEMPLATES.rst
new file mode 100644
index 0000000..0334204
--- /dev/null
+++ b/Help/release/dev/PCH_INSTANTIATE_TEMPLATES.rst
@@ -0,0 +1,7 @@
+PCH_INSTANTIATE_TEMPLATES
+-------------------------
+
+* The :prop_tgt:`PCH_INSTANTIATE_TEMPLATES` target property was added to enable
+ template instantiation in the precompiled header. This is enabled by default
+ and offers a roughly 20% compile time improvement. Currently only supported
+ by Clang 11.
diff --git a/Help/variable/CMAKE_PCH_INSTANTIATE_TEMPLATES.rst b/Help/variable/CMAKE_PCH_INSTANTIATE_TEMPLATES.rst
new file mode 100644
index 0000000..9867f17
--- /dev/null
+++ b/Help/variable/CMAKE_PCH_INSTANTIATE_TEMPLATES.rst
@@ -0,0 +1,7 @@
+CMAKE_PCH_INSTANTIATE_TEMPLATES
+-------------------------------
+
+.. versionadded:: 3.19
+
+This variable is used to initialize the :prop_tgt:`PCH_INSTANTIATE_TEMPLATES`
+property of targets when they are created.