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.22.6 предупреждает, если политика не установлена, и использует OLD поведение. Используйте команду cmake_policy(), чтобы явно установить её в OLD или NEW.
Примечание
OLD поведение политики deprecated by definition и может быть удалено в будущей версии CMake.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.22/policy/CMP0002.html