mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-22 22:31:18 -05:00
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.
This commit is contained in:
@@ -103,3 +103,4 @@ All Policies
|
||||
/policy/CMP0049
|
||||
/policy/CMP0050
|
||||
/policy/CMP0051
|
||||
/policy/CMP0052
|
||||
|
||||
@@ -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.
|
||||
@@ -0,0 +1,5 @@
|
||||
CMP0052
|
||||
-------
|
||||
|
||||
* Policy :policy:`CMP0052` introduced to control directories in the
|
||||
:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of exported targets.
|
||||
Reference in New Issue
Block a user