diff options
author | Brad King <brad.king@kitware.com> | 2013-10-22 13:07:40 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2013-10-22 13:07:40 (GMT) |
commit | 0d9e8b1ab9ff8c99700093ba76a4339e3f199350 (patch) | |
tree | 7813e3052d482c4a59b2296e9c3b60e780b73da0 /Help/policy | |
parent | d8fe9f9de7f6a2dd08329565b0b03d4b5d3cdf29 (diff) | |
parent | f063c45589e83bf8e4ef61f49b17084debf085a2 (diff) | |
download | CMake-0d9e8b1ab9ff8c99700093ba76a4339e3f199350.zip CMake-0d9e8b1ab9ff8c99700093ba76a4339e3f199350.tar.gz CMake-0d9e8b1ab9ff8c99700093ba76a4339e3f199350.tar.bz2 |
Merge topic 'double-colon-is-imported'
f063c45 Consider targets with double colons to be IMPORTED or ALIAS targets.
Diffstat (limited to 'Help/policy')
-rw-r--r-- | Help/policy/CMP0028.rst | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Help/policy/CMP0028.rst b/Help/policy/CMP0028.rst new file mode 100644 index 0000000..ec318a0 --- /dev/null +++ b/Help/policy/CMP0028.rst @@ -0,0 +1,23 @@ +CMP0028 +------- + +Double colon in target name means ALIAS or IMPORTED target. + +CMake 2.8.12 and lower allowed the use of targets and files with double +colons in target_link_libraries, with some buildsystem generators. + +The use of double-colons is a common pattern used to namespace IMPORTED +targets and ALIAS targets. When computing the link dependencies of a target, +the name of each dependency could either be a target, or a file on disk. +Previously, if a target was not found with a matching name, the name was +considered to refer to a file on disk. This can lead to confusing error +messages if there is a typo in what should be a target name. + +The OLD behavior for this policy is to search for targets, then files on disk, +even if the search term contains double-colons. The NEW behavior for this +policy is to issue a FATAL_ERROR if a link dependency contains +double-colons but is not an IMPORTED target or an ALIAS target. + +This policy was introduced in CMake version 3.0.0. CMake version +|release| warns when the policy is not set and uses OLD behavior. Use +the cmake_policy command to set it to OLD or NEW explicitly. |