Релиз сборочной системы CMake 4.0.0
Представлен релиз кроссплатформенного открытого генератора сценариев сборки CMake 4.0.0, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD.
CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки.
Основные изменения:
Прекращена совместимость с версиями CMake до выпуска 3.5. При привязке к неподдерживаемым версиям в функциях cmake_minimum_required () и cmake_policy () теперь будет выводиться ошибка.
Добавлена переменная окружения «CMAKE_POLICY_VERSION_MINIMUM» для переопределения минимальной версии CMake, функциональность которой необходима для сборки проекта. Добавленная переменная позволяет обойтись без изменения вызовов cmake_minimum_required (VERSION) и cmake_policy (VERSION) в самом проекте, например, для настройки политики версий в проектах, не предусматривающих такую возможность.
В выражение генератора »$‹PATH›» добавлена операция «NATIVE_PATH» для преобразования файлового пути из представления CMake (для разделения каталогов всегда используется »/»), в системный путь (в Unix-подобных системах используется »/», а в Windows — »\»).
На платформе macOS при использовании генераторов сборочных сценариев на базе инструментария Ninja и генераторов Makefile, если в каталоге »/usr/bin» присутствует компилятор, то он отныне оставляется как есть, без привязки к компилятору в Xcode. При сборке для платформы macOS по умолчанию прекращён выбор SDK и передача компилятору фага »-isysroot» (SDK теперь выбирает сам компилятор, а не CMake).
Добавлено свойство LINK_WARNING_AS_ERROR, при котором предупреждения компоновщика будут трактоваться как ошибки. Для отключения действия данного свойства добавлена опция командной строки »--link-no-warning-as-error».
В утилиту cmake добавлена опция »--project-file» для задания альтернативного имени файла CMakeLists.txt.
В генератор CPack добавлена возможность создания несжатых tar-архивов.
В команду target_link_libraries () и переменные CMAKE_EXE_LINKER_FLAGS*, CMAKE_SHARED_LINKER_FLAGS*, CMAKE_MODULE_LINKER_FLAGS* добавлена поддержка префикса «LINKER:».
- Добавлены новые переменные:
CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL,
- CMAKE_‹LANG›_LINK_MODE,
CMAKE_‹LANG›_DEVICE_LINK_MODE,
CMAKE_LINK_WARNING_AS_ERROR,
CMAKE_MSVC_RUNTIME_CHECKS,
CMAKE_DEBUGGER_WORKING_DIRECTORY,
CMAKE_XCODE_SCHEME_LLDB_INIT_FILE,
- CMAKE_XCODE_SCHEME_TEST_CONFIGURATION.
Добавлены новые свойства: DEBUGGER_WORKING_DIRECTORY и VS_SOLUTION_ITEMS (для прикрепления файлов к .sln для Visual Studio).
Обеспечено формирование готовых сборок CMake для SunOS для архитектур sparc64 и x86_64.
Источник: http://www.opennet.ru/opennews/art.shtml? num=62974
© OpenNet