Написать пост

Вышла система сборки CMake 3.13

Аватар Андрей Галадей

В CMake 3.13 разработчики добавили ряд опций, упрощающих работу с каталогами. Например, появились команды для определения каталогов и поиска пути к ним.

Обложка поста Вышла система сборки CMake 3.13

Вышло обновление открытого генератора сценариев сборки 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.

Следите за новыми постами
Следите за новыми постами по любимым темам
657 открытий659 показов