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.
See also the LINK_LIBRARIES_ONLY_TARGETS
target property.
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.
It may be set by cmake_policy()
or cmake_minimum_required()
.
If it is not set, CMake warns, and uses OLD
behavior.
Note
The OLD
behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.