CMP0136
Новое в версии 3.24.
Флаги библиотеки времени выполнения Watcom выбираются с помощью абстракции.
Компиляторы, ориентированные на ABI Watcom, имеют флаги для выбора библиотеки времени выполнения Watcom.
В CMake 3.23 и ниже флаги выбора библиотеки времени выполнения Watcom добавляются в стандартные записи кэша CMAKE_<LANG>_FLAGS_<CONFIG> CMake автоматически. Это позволяет пользователям редактировать записи кэша для изменения флагов. Однако наличие таких стандартных флагов представляет проблему для проектов, которые хотят выбрать библиотеку времени выполнения программно. В частности, это требует редактирования строк переменных CMAKE_<LANG>_FLAGS_<CONFIG> с учетом стандартных значений CMake для их замены.
CMake 3.24 и выше предпочитает исключить флаги выбора библиотеки времени выполнения Watcom из стандартных значений CMAKE_<LANG>_FLAGS_<CONFIG> и вместо этого предлагает абстракцию первого класса. Переменная CMAKE_WATCOM_RUNTIME_LIBRARY и свойство целевого объекта WATCOM_RUNTIME_LIBRARY могут быть установлены для выбора библиотеки времени выполнения Watcom. Если они не установлены, CMake использует значение по умолчанию MultiThreadedDLL в Windows и SingleThreaded на других платформах, что эквивалентно исходным флагам.
Этот параметр обеспечивает совместимость с проектами, которые не были обновлены для использования абстракции. Настройка параметра вступает в силу при первом использовании команды project() или enable_language() для включения языка, компилятор которого ориентирован на ABI Watcom.
Примечание
После того, как параметр вступил в силу вверху проекта, это значение должно использоваться по всей структуре проекта. В проектах с вложенными проектами в подкаталогах убедитесь, что все преобразования выполнены вместе.
Поведение OLD для этого параметра заключается в размещении флагов библиотеки времени выполнения Watcom в стандартных записях кэша CMAKE_<LANG>_FLAGS_<CONFIG> и игнорировании абстракции CMAKE_WATCOM_RUNTIME_LIBRARY. Поведение NEW для этого параметра заключается в не размещении флагов библиотеки времени выполнения Watcom в стандартных записях кэша и использовании абстракции вместо этого.
Этот параметр был введен в версии CMake 3.24. Используйте команду cmake_policy() для явного его установки в OLD или NEW. В отличие от многих параметров, CMake версии 3.24.2 не предупреждает, если этот параметр не установлен, а просто использует поведение OLD.
Примечание
Поведение OLD параметра deprecated by definition и может быть удалено в будущих версиях CMake.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.24/policy/CMP0136.html