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