summaryrefslogtreecommitdiffstats
path: root/Help/policy
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2014-03-31 15:37:02 (GMT)
committerStephen Kelly <steveire@gmail.com>2014-04-09 08:38:49 (GMT)
commit783bce295b98640ebcd56a4a6ca9f673992bcaa7 (patch)
tree04d27e1fa71737b5cf140f307fde7466dd38c1f5 /Help/policy
parentc869984ea013f99c3104abaf17d553b08c4b17c2 (diff)
downloadCMake-783bce295b98640ebcd56a4a6ca9f673992bcaa7.zip
CMake-783bce295b98640ebcd56a4a6ca9f673992bcaa7.tar.gz
CMake-783bce295b98640ebcd56a4a6ca9f673992bcaa7.tar.bz2
Export: Disallow exported interface includes in src/build tree (#14592).
Allow directories in the source tree or build tree only if the install tree is a subdirectory of the source tree or build tree, as appropriate. Re-use the test files in the RunCMake.include_directories test to run in multiple scenarios. Bump the required CMake version in the test to 3.0 to ensure that the new policy warnings are emitted correctly.
Diffstat (limited to 'Help/policy')
-rw-r--r--Help/policy/CMP0052.rst21
1 files changed, 21 insertions, 0 deletions
diff --git a/Help/policy/CMP0052.rst b/Help/policy/CMP0052.rst
new file mode 100644
index 0000000..f857f36
--- /dev/null
+++ b/Help/policy/CMP0052.rst
@@ -0,0 +1,21 @@
+CMP0052
+-------
+
+Reject source and build dirs in installed INTERFACE_INCLUDE_DIRECTORIES.
+
+CMake 3.0 and lower allowed subdirectories of the source directory or build
+directory to be in the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of
+installed and exported targets, if the directory was also a subdirectory of
+the installation prefix. This makes the installation depend on the
+existence of the source dir or binary dir, and the installation will be
+broken if either are removed after installation.
+
+The OLD behavior for this policy is to export the content of the
+:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` with the source or binary
+directory. The NEW behavior for this
+policy is to issue an error if such a directory is used.
+
+This policy was introduced in CMake version 3.1.
+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.