| CMP0037 |
| ------- |
| |
| Target names should not be reserved and should match a validity pattern. |
| |
| 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 |
| 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 |
| targets 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 :module:`CTest` or :module:`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. CMake version |
| |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. |
| |
| .. include:: DEPRECATED.txt |