| CMP0171 |
| ------- |
| |
| .. versionadded:: 3.31 |
| |
| ``codegen`` is a reserved target name. |
| |
| CMake 3.30 and earlier did not reserve ``codegen`` as a builtin target name, |
| leaving projects free to create their own target with that name. |
| CMake 3.31 and later prefer to reserve ``codegen`` as a builtin target name |
| to drive custom commands created with the ``CODEGEN`` option to |
| :command:`add_custom_command`. In order to support building the ``codegen`` |
| target in scripted environments, e.g., ``cmake --build . --target codegen``, |
| the ``codegen`` target needs to be generated even if no custom commands |
| use the ``CODEGEN`` option. This policy provides compatibility for projects |
| that have not been updated to avoid creating a target named ``codegen``. |
| |
| The ``OLD`` behavior of this policy allows projects to create a target |
| with the name ``codegen``. The ``NEW`` behavior halts with a fatal error |
| if a target with the name ``codegen`` is created. |
| |
| .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.31 |
| .. |WARNS_OR_DOES_NOT_WARN| replace:: warns |
| .. include:: include/STANDARD_ADVICE.rst |
| |
| .. include:: include/DEPRECATED.rst |