CMP0136
Добавлено в версии 3.24.
Флаги библиотеки времени выполнения Watcom выбираются с помощью абстракции.
Компиляторы, предназначенные для ABI Watcom, поддерживают флаги для выбора библиотеки времени выполнения Watcom.
В CMake 3.23 и более ранних версиях флаги выбора библиотеки времени выполнения Watcom автоматически добавляются CMake в записи кэша CMAKE_<LANG>_FLAGS_<CONFIG> по умолчанию. Это позволяет пользователям редактировать записи кэша, чтобы изменить флаги. Однако наличие таких флагов по умолчанию создает проблемы для проектов, которым нужно программно выбрать другую библиотеку времени выполнения. В частности, для этого требуется редактировать строки переменных CMAKE_<LANG>_FLAGS_<CONFIG>, зная встроенные значения CMake по умолчанию, чтобы заменить их.
В CMake 3.24 и более поздних версиях флаги выбора библиотеки времени выполнения Watcom предпочтительно не включаются в значения CMAKE_<LANG>_FLAGS_<CONFIG> по умолчанию; вместо этого предоставляется полноценная абстракция. Для выбора библиотеки времени выполнения Watcom можно задать переменную CMAKE_WATCOM_RUNTIME_LIBRARY и свойство цели WATCOM_RUNTIME_LIBRARY. Если они не заданы, 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() или 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/CMP0136.html