Релиз на системата за изграждане CMake 3.18

Представено релийз на платформен отворен генератор на сценарии за билд CMake 3.18, който служи като алтернатива на Autotools и се използва в проекти като KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Кодът на CMake е написан на C++ и се разпространява под BSD лиценз.

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

Основни подобрения:

  • За езика 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 за проверка на коректността на флаговете за свързване.
  • Добавени са генераторни изрази $, $, $ и $.
  • В утилитата ctest е добавена променлива CTEST_RESOURCE_SPEC_FILE за указване на файл със спецификация на ресурсите.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster