Вышло новое обновление генератора скриптов CMake 3.15

Cmake

Несколько дней тому назад Выпущен кроссплатформенный генератор скриптов с открытым исходным кодом CMake 3.15 который действует как альтернатива Autotools и используется в таких проектах, как KDE, LLVM / Clang, MySQL, MariaDB, ReactOS и Blender.

CMake - это мультиплатформенный инструмент для генерации кода или автоматизации. Название является аббревиатурой от «кроссплатформенный make» (кроссплатформенный make, помимо использования «make» в названии, CMake - это отдельный пакет и более высокий уровень, чем общая система make. Unix, будучи похожим на autotools.

О CMake

CMake отличается простым языком сценариев, инструменты для расширения функциональности между модулями, минимальное количество зависимостей (без привязки к M4, Perl или Python), поддержка кеширования, доступность инструментов для кросс-компиляции, поддержка создания файлов сборки для широкого спектра систем компиляции и компиляторов.

Утилиты ctest и cpack для определения сценариев тестирования и создания пакетов с утилитой cmake-gui для интерактивной настройки параметров сборки.

CMake используется для управления процессом компиляции программного обеспечения с помощью простых и независимых файлов конфигурации. с платформы. Cmake генерирует собственные make-файлы и рабочие области, которые можно использовать в желаемой среде разработки.

Она сравнима с системой сборки Unix GNU в том, что процесс управляется файлами конфигурации, в случае CMake называется CMakeLists.txt.

В отличие от системы сборки GNU, которая ограничено платформами UnixCMake поддерживает создание файлов для различных операционных систем, что упрощает обслуживание и устраняет необходимость иметь несколько наборов файлов для каждой платформы.

Процесс сборки контролируется путем создания одного или нескольких файлов CMakeLists.txt в каждом каталоге (включая подкаталоги).

Код CMake написан на C ++ и распространяется под лицензией BSD.

CMake 3.15 Основные новые функции

Эта новая версия подчеркивается появлением начальной поддержки генератора для языка Swift Разработанный Apple, был добавлен в генератор сценариев сборки Ninja Toolkit.

Кроме этого, также есть поддержка опции компилятора Clang для Windows, созданный с помощью ABI MSVC, но использующий параметры командной строки в стиле GNU.

Разработчики подчеркивают, что переменные CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY добавляются для выбора библиотек времени выполнения, используемых компиляторами ABI MSVC (MS VisualStudio).

Для таких компиляторов, как MSVC, en CMAKE__FLAGSПо умолчанию список флагов управления предупреждениями, таких как «/ W3», остановлен.

Из других улучшений, отмеченных в сообщении о выпуске этой новой версии, мы находим следующие:

  • Добавлено генерирующее выражение 'COMPILE_LANG_AND_ID: »Чтобы определить параметры компилятора для целевых файлов, которые используют переменные CMAKE__COMPILER_ID y LANGUAGE для каждого файла кода
  • Генератор выражений C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID добавить поддержку сопоставления значения со списком, элементы, разделенные запятыми
  • Переменная добавлена CMAKE_FIND_PACKAGE_PREFER_CONFIG, в котором вызов find_package () сначала будет искать файл конфигурации пакета, даже если модуль поиска доступен
  • Для интерфейсных библиотек добавлена ​​поддержка настройки свойств. PUBLIC_HEADER y PRIVATE_HEADER, чьи заголовки могут быть настроены командой установки (TARGETS), передавая аргументы PUBLIC_HEADER y PRIVATE_HEADER
  • Переменная добавлена CMAKE_VS_JUST_MY_CODE_DEBUGGING и объект назначения VS_JUST_MY_CODE_DEBUGGING для включения режима «Только мой код» в отладчике Visual Studio при компиляции с использованием MSVC cl 19.05 и более новых версий.
  • Доработан модуль FindBoost, который теперь более полно прорабатывается в режимах конфигурации и модуля при наличии других модулей поиска.
  • В команду message () добавлена ​​поддержка типов NOTICE, VERBOSE, DEBUG и TRACE.
  • Команда "export (PACKAGE)" теперь ничего не делает, пока не будет явно разрешена через переменную CMAKE_EXPORT_PACKAGE_REGISTRY.

Если вы хотите узнать об этом больше, вы можете проконсультироваться по следующей ссылке.


Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.