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.
Поведение OLD для этой политики заключается в том, что ключевое слово BEFORE не учитывается при добавлении элементов в свойство COMPILE_OPTIONS. Поведение NEW для этой политики заключается в том, что ключевое слово BEFORE учитывается во всех случаях.
Эта политика была введена в версии CMake 3.17. Её можно установить с помощью 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/CMP0101.html