CMP0037ΒΆ
Warning
The OLD
behavior of this policy was removed
in CMake version 4.0.
This policy must be set to NEW
by a call to
cmake_minimum_required()
or cmake_policy()
.
Target names should not be reserved and should match a validity pattern.
CMake 2.8.12 and lower allowed creating targets using add_library()
,
add_executable()
and add_custom_target()
with unrestricted
choice for the target name. Newer cmake features such
as cmake-generator-expressions(7)
and some
diagnostics expect target names to match a restricted pattern.
Target names may contain upper and lower case letters, numbers, the underscore
character (_
), dot(.
), plus(+
) and minus(-
).
As a special case, ALIAS
and IMPORTED
targets may contain
two consecutive colons.
Target names reserved by one or more CMake generators are not allowed.
Among others these include all
, clean
, help
, and install
.
Target names associated with optional features, such as test
and
package
, may also be reserved. CMake 3.10 and below always reserve them.
CMake 3.11 and above reserve them only when the corresponding feature is
enabled (e.g. by including the CTest
or CPack
modules).
The OLD
behavior for this policy is to allow creating targets with
reserved names or which do not match the validity pattern.
The NEW
behavior for this policy is to report an error
if an add_* command is used with an invalid target name.
This policy was introduced in CMake version 3.0.
Prior to removal in CMake version 4.0, it could be
set by cmake_policy()
or cmake_minimum_required()
.
If it was not set, CMake warned, and used OLD
behavior.