CMP0101
Новая версия с 3.17.
target_compile_options() теперь всегда учитывает ключевое слово BEFORE.
В CMake 3.16 и ниже команда target_compile_options() игнорирует ключевое слово BEFORE при вставке элементов в целевое свойство COMPILE_OPTIONS (элементы PRIVATE и PUBLIC). CMake 3.17 и более поздние версии учитывают ключевое слово BEFORE во всех случаях. Этот политический вопрос обеспечивает совместимость для проектов, которые не были обновлены для ожидаемого нового поведения.
Поведение вставки элементов в целевое свойство INTERFACE_COMPILE_OPTIONS (элементы PUBLIC и INTERFACE ) не зависит от этой политики. Ключевое слово BEFORE всегда учитывалось при добавлении элементов в INTERFACE_COMPILE_OPTIONS.
Поведением по умолчанию для этой политики является игнорирование ключевого слова BEFORE при вставке в свойство COMPILE_OPTIONS. Поведение по умолчанию этой политики — учитывать ключевое слово BEFORE во всех случаях.
Эта политика была введена в CMake версии 3.17. Используйте команду cmake_policy(), чтобы установить её явно в OLD или NEW. В отличие от многих политик, CMake версии 3.28.6 не выдает предупреждение, если эта политика не задана, и просто использует поведение OLD.
Примечание
Поведение по умолчанию этой политики deprecated by definition и может быть удалено в будущих версиях CMake.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.28/policy/CMP0101.html