Вышло обновление открытого генератора сценариев сборки CMake под номером 3.13. CMake является альтернативой Autotools и используется в ряде open source проектов. Он отличается модульной структурой, минимумом зависимостей, кроссплатформенностью и поддержкой кэширования.
Новое в CMake 3.13
Основные улучшения:
- Разработчики добавили в команду cmake опции -S source_dir и -B build_dir, определяющие пути до директорий с исходным кодом программы и для сборки соответственно. Опции могут использоваться независимо друг от друга. В Windows теперь можно использовать команду cmake -E create_symlink.В команде target_sources() пути к директориям с кодом обрабатываются по отношению к текущей папке с исходниками.Появились команды target_link_directories(), target_link_options() и target_link_libraries(). Они определяют директории, опции и расположения библиотек, которые будут задействованы в компоновочных операциях.Команда install(TARGETS) теперь позволяет устанавливать целевые файлы, созданные не в текущей директории.Команда option() отныне учитывает наличие обычных переменных с таким же названием. Иначе говоря, в кэше и настройках их переопределение более не производится.Появилось правило CMP0076. Оно работает, если нужно сохранить прежнее поведение или обратную совместимость.Генератор Green Hills MULTI теперь позволяет выбирать архитектуру, платформу, а также все необходимые инструменты и методы. В генераторах для Visual Studio, начиная с версии 2010, теперь есть опция INTERPROCEDURAL_OPTIMIZATION и модуль CheckIPOSupported. Последний контролирует использовании оптимизаций при работе между процедурами. Появились свойства VS_DEBUGGER_COMMAND_ARGUMENTS и VS_DEBUGGER_ENVIRONMENT. Этими свойствами заданы аргументы переменных окружения и командной строки, позволяющие управлять режимами отладки в Visual Studio.
CMake используется в проектах KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Ознакомиться с документацией и скачать обновлённую систему сборки можно на официальном сайте.
Некоторые проекты осуществляют переход с Autotools на CMake. Например, в августе 2018 года так поступили разработчики библиотеки для кодирования и декодирования изображений в формате JPEG libjpeg-turbo 2.0.
Источник: