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 параметра deprecated by definition и может быть удалено в будущих версиях CMake.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.30/policy/CMP0101.html