diff options
author | Stephen Kelly <steveire@gmail.com> | 2014-03-31 15:37:02 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-04-09 08:38:49 (GMT) |
commit | 783bce295b98640ebcd56a4a6ca9f673992bcaa7 (patch) | |
tree | 04d27e1fa71737b5cf140f307fde7466dd38c1f5 /Help/policy | |
parent | c869984ea013f99c3104abaf17d553b08c4b17c2 (diff) | |
download | CMake-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.rst | 21 |
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. |