CMP0028¶
警告
該方針的 OLD 行為已在 CMake 版本 4.0 中移除。該方針必須透過呼叫 cmake_minimum_required() 或 cmake_policy() 設定為 NEW。
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.
此方針於 CMake 版本 3.0 中引入。在 CMake 版本 4.0 移除之前,它可以透過 cmake_policy() 或 cmake_minimum_required() 設定。如果未設定,CMake warned,並使用 OLD 行為。