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 :command:`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 :prop_tgt:`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.  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.

.. include:: DEPRECATED.txt
