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 items) не зависит от этого параметра. Ключевое слово BEFORE всегда учитывалось при добавлении элементов в INTERFACE_COMPILE_OPTIONS.
Поведение OLD для этого параметра заключается в игнорировании ключевого слова BEFORE при добавлении в свойство COMPILE_OPTIONS. Поведение NEW для этого параметра заключается в учёте ключевого слова BEFORE во всех случаях.
Этот параметр был введён в CMake версии 3.17. Он может быть задан командой cmake_policy() или cmake_minimum_required(). Если он не задан, CMake не выводит предупреждение и использует поведение OLD.
Примечание
Поведение OLD данного параметра deprecated by definition и может быть удалено в будущей версии CMake.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.29/policy/CMP0101.html