| CMP0212 | |
| ------- | |
| .. versionadded:: 4.4 | |
| :command:`add_custom_command` ``DEPENDS`` does not strip ``.exe`` suffixes. | |
| When searching for dependencies specified with the ``DEPENDS`` option of | |
| :command:`add_custom_command`, CMake 4.3 and below applied a heuristic to | |
| remove ``.exe`` from the end of ``DEPENDS`` argument values, which created a | |
| target-level dependency on an executable with that stripped name if such a | |
| target exists. This allowed using the name of the target output file as an | |
| alternative spelling when naming dependencies. However, with the emergence of | |
| CMake's target model, specifying the output file in this way is no longer | |
| needed, and leads to conflicts in creating target- and file-level dependencies | |
| when targets exist with the ``.exe`` suffix in the name itself. | |
| The ``OLD`` behavior of this policy strips the ``.exe`` suffix from arguments | |
| to ``DEPENDS`` when searching for target-level dependencies. The ``NEW`` | |
| behavior does not strip the ``.exe`` suffix in its search. CMake will otherwise | |
| proceed normally with the other dependency search heuristics as specified in | |
| :command:`add_custom_command` ``DEPENDS``. Users are encouraged to specify the | |
| name of the executable target if a target-level dependency is desired, or use | |
| the :genex:`TARGET_FILE` generator expression if a file-level dependency | |
| is desired, rather than implying the target indirectly via its output file name. | |
| .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 4.4 | |
| .. |WARNS_OR_DOES_NOT_WARN| replace:: does *not* warn | |
| .. include:: include/STANDARD_ADVICE.rst | |
| .. include:: include/DEPRECATED.rst |