CMP0002
Логические имена целей должны быть уникальными во всём проекте.
Имена целей, созданные с помощью команд add_executable(), add_library() или add_custom_target(), являются логическими именами целей сборки. Логические имена целей должны быть уникальными, так как:
- Unique names may be referenced unambiguously both in CMake code and on make tool command lines. - Logical names are used by Xcode and VS IDE generators to produce meaningful project names for the targets.
Логическое имя целевой программы или библиотеки не обязательно должно совпадать с физическим именем создаваемого файла. Рекомендуется использовать свойство цели OUTPUT_NAME, чтобы создать две цели с одинаковым физическим именем, сохранив при этом уникальность логических имён. Для пользовательских целей достаточно иметь уникальные имена (если не используется глобальное свойство ALLOW_DUPLICATE_CUSTOM_TARGETS с генератором Makefiles).
Данный принцип был введён в CMake версии 2.6.0. CMake версии 3.24.2 выводит предупреждение, если принцип не установлен, и использует OLD поведение. Используйте команду cmake_policy(), чтобы явно установить его в OLD или NEW.
Примечание
OLD поведение принципа deprecated by definition и может быть удалено в будущих версиях CMake.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.24/policy/CMP0002.html