summaryrefslogtreecommitdiffstats
path: root/Help/policy/CMP0087.rst
diff options
context:
space:
mode:
authorJon Chronopoulos <patches@crondog.com>2018-11-29 10:11:07 (GMT)
committerCraig Scott <craig.scott@crascit.com>2018-12-22 22:03:38 (GMT)
commit25cae1e85d501c463141388e4eb580bdfae6ed2f (patch)
tree5028fc6c22c526e2b67a4539b6d0a7b69747b17a /Help/policy/CMP0087.rst
parentcb995ddea2d633310b270e99d020fe490fff5ec7 (diff)
downloadCMake-25cae1e85d501c463141388e4eb580bdfae6ed2f.zip
CMake-25cae1e85d501c463141388e4eb580bdfae6ed2f.tar.gz
CMake-25cae1e85d501c463141388e4eb580bdfae6ed2f.tar.bz2
install: Teach CODE,SCRIPT modes to evaluate generator expressions
This also introduces CMP0087 which will keep the OLD behaviour of not evaluating generator expressions Fixes: #15785
Diffstat (limited to 'Help/policy/CMP0087.rst')
-rw-r--r--Help/policy/CMP0087.rst29
1 files changed, 29 insertions, 0 deletions
diff --git a/Help/policy/CMP0087.rst b/Help/policy/CMP0087.rst
new file mode 100644
index 0000000..4c45b99
--- /dev/null
+++ b/Help/policy/CMP0087.rst
@@ -0,0 +1,29 @@
+CMP0087
+-------
+
+:command:`install(CODE)` and :command:`install(SCRIPT)` support generator
+expressions.
+
+In CMake 3.13 and earlier, :command:`install(CODE)` and
+:command:`install(SCRIPT)` did not evaluate generator expressions. CMake 3.14
+and later will evaluate generator expressions for :command:`install(CODE)` and
+:command:`install(SCRIPT)`.
+
+The ``OLD`` behavior of this policy is for :command:`install(CODE)` and
+:command:`install(SCRIPT)` to not evaluate generator expressions. The ``NEW``
+behavior is to evaluate generator expressions for :command:`install(CODE)` and
+:command:`install(SCRIPT)`.
+
+Note that it is the value of this policy setting at the end of the directory
+scope that is important, not its setting at the time of the call to
+:command:`install(CODE)` or :command:`install(SCRIPT)`. This has implications
+for calling these commands from places that have their own policy scope but not
+their own directory scope (e.g. from files brought in via :command:`include()`
+rather than :command:`add_subdirectory()`).
+
+This policy was introduced in CMake version 3.14. CMake version
+|release| warns when the policy is not set and uses ``OLD`` behavior.
+Use the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW``
+explicitly.
+
+.. include:: DEPRECATED.txt