CMP0037.rst 1.19 KB
Newer Older
1 2 3
CMP0037
-------

4
Target names should not be reserved and should match a validity pattern.
5

6 7 8 9
CMake 2.8.12 and lower allowed creating targets using :command:`add_library`,
:command:`add_executable` and :command:`add_custom_target` with unrestricted
choice for the target name.  Newer cmake features such
as :manual:`cmake-generator-expressions(7)` and some
10 11 12 13
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
Stephen Kelly's avatar
Stephen Kelly committed
14
targets and IMPORTED targets may contain two consequtive colons.
15

16 17 18 19 20 21
Target names reserved by one or more CMake generators are not allowed.
Among others these include "all", "help" and "test".

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
22 23
if an add_* command is used with an invalid target name.

24
This policy was introduced in CMake version 3.0.  CMake version
25 26
|release| warns when the policy is not set and uses OLD behavior.  Use
the cmake_policy command to set it to OLD or NEW explicitly.
27 28

.. include:: DEPRECATED.txt