Double colon in target name means
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.
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
This policy was introduced in CMake version 3.0. CMake version 3.19.0-rc3 warns when the policy is not set and uses
OLD behavior. Use the
cmake_policy() command to set it to
OLD behavior of a policy is
deprecated by definition and may be removed in a future version of CMake.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.