Издање ЦМаке 3.18 буилд система

Представио издање вишеплатформског генератора отворених скрипти ЦМаке 3.18, који делује као алтернатива Аутотоолс-у и користи се у пројектима као што су КДЕ, ЛЛВМ/Цланг, МиСКЛ, МариаДБ, РеацтОС и Блендер. ЦМаке код је написан у Ц++ и дистрибуира се под БСД лиценцом.

ЦМаке је познат по томе што пружа једноставан скрипт језик, средство за проширење функционалности кроз модуле, минималан број зависности (без везивања за М4, Перл или Питхон), подршку за кеширање, присуство алата за унакрсну компилацију, подршку за генерисање буилд-а датотеке за широк спектар система за изградњу и компајлере, присуство услужних програма цтест и цпацк за дефинисање тестних скрипти и пакета за изградњу, услужни програм цмаке-гуи за интерактивно подешавање параметара изградње.

Главни побољшања:

  • Для языка 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 для указания файла со спецификацией ресурсов.

Извор: опеннет.ру

Додај коментар