CMP0171
Добавлено в версии 3.31.
codegen — зарезервированное имя цели.
В CMake 3.30 и более ранних версиях codegen не было зарезервировано в качестве встроенного имени цели, поэтому проекты могли создавать собственную цель с таким именем. В CMake 3.31 и более поздних версиях codegen предпочитается зарезервировать в качестве встроенного имени цели для запуска пользовательских команд, созданных с параметром CODEGEN команды add_custom_command(). Чтобы поддерживать сборку цели codegen в скриптовых средах, например cmake --build . --target codegen, цель codegen должна создаваться, даже если пользовательские команды не используют параметр CODEGEN. Эта политика обеспечивает совместимость с проектами, которые ещё не были обновлены и могут создавать цель с именем codegen.
Поведение OLD этой политики позволяет проектам создавать цель с именем codegen. Поведение NEW приводит к фатальной ошибке, если создаётся цель с именем codegen.
Эта политика была добавлена в CMake версии 3.31. Её можно задать с помощью cmake_policy() или cmake_minimum_required(). Если она не задана, CMake выдаёт предупреждение и использует поведение OLD.
Примечание
Поведение OLD политики считается устаревшим по определению и может быть удалено в будущей версии CMake.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/policy/CMP0171.html