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.15.2 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–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.