Vydání systému sestavení CMake 3.18

Předložené vydání multiplatformního open build generátoru skriptů CMake 3.18, který funguje jako alternativa k Autotools a používá se v projektech jako KDE, LLVM/Clang, MySQL, MariaDB, ReactOS a Blender. Kód CMake je napsán v C++ a distribuován pod licencí BSD.

CMake je pozoruhodný tím, že poskytuje jednoduchý skriptovací jazyk, prostředek k rozšíření funkčnosti prostřednictvím modulů, minimální počet závislostí (žádná vazba na M4, Perl nebo Python), podporu ukládání do mezipaměti, přítomnost nástrojů pro křížovou kompilaci, podporu pro generování sestavení soubory pro širokou škálu sestavovacích systémů a kompilátorů, nástroje prezence ctest a cpack pro definování testovacích skriptů a sestavovacích balíčků, nástroj cmake-gui pro interaktivní nastavení parametrů sestavení.

hlavní vylepšení:

  • Для языка CUDA обеспечена возможность сборки при помощи Clang на платформах, отличных от Windows. Раздельная компиляция CUDA пока не поддерживается ни на одной платформе.
  • Добавлена поддержка профилирования сценариев CMake, используя опции «—profiling-output» и «—profiling-format».
  • В команды add_library() и add_executable() добавлена поддержка создания целей-псевдонимов (Alias Targets), ссылающихся на неглобальные импортированные цели.
  • Добавлена команда cmake_language() для мета-операций над скриптованными или встроенными командами.
  • Добавлена подкоманда file(CONFIGURE), аналогичная по функциональности команде configure_file(), но с передачей содержимого в форме строки, а не ссылки на файл.
  • В команды find_program(), find_library(), find_path() и find_file() добавлена опция REQUIRED, предписывающая остановить обработку с ошибкой, если ничего не было найдено.
  • Добавлена переменная «CMAKE_CUDA_ARCHITECTURES» для указания архитектуры CUDA (устанавливается автоматически, если переменная «CMAKE_CUDA_COMPILER_ID» принимает значение «NVIDIA»).
  • Добавлено свойство «UNITY_BUILD_MODE» для выбора в генераторах алгоритма группировки включаемых исходных файлов (BATCH, GROUP).
  • Добавлен модуль CheckLinkerFlag для проверки корректности флагов компоновки.
  • Добавлены выражения генератора $<DEVICE_LINK:…>, $<HOST_LINK:…>, $<LINK_LANGUAGE:…> и $<LINK_LANG_AND_ID:…>.
  • В утилиту ctest добавлена переменная CTEST_RESOURCE_SPEC_FILE для указания файла со спецификацией ресурсов.

Zdroj: opennet.ru

Přidat komentář