Нашри системаи сохтани CMake 3.18

муаррифӣ карда шуд баровардани як генератори скрипти кушодаи байниплатформа CMake 3.18, ки ҳамчун алтернатива ба Autotools амал мекунад ва дар лоиҳаҳо ба монанди KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ва Blender истифода мешавад. Рамзи CMake дар C++ навишта шудааст ва таҳти иҷозатномаи BSD паҳн карда мешавад.

CMake бо пешниҳоди забони оддии скрипт, воситаи васеъ кардани функсияҳо тавассути модулҳо, шумораи ҳадди ақали вобастагӣ (ҳатмӣ ба M4, Perl ё Python), дастгирии кэш, мавҷудияти абзорҳо барои компилясияи байнисоҳавӣ, дастгирии тавлиди сохтмон намоён аст. файлҳо барои доираи васеи системаҳо ва компиляторҳо, мавҷудияти utilities 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 для проверки корректности флагов компоновки.
  • Добавлены выражения генератора $<DEVICE_LINK:…>, $<HOST_LINK:…>, $<LINK_LANGUAGE:…> и $<LINK_LANG_AND_ID:…>.
  • В утилиту ctest добавлена переменная CTEST_RESOURCE_SPEC_FILE для указания файла со спецификацией ресурсов.

Манбаъ: opennet.ru

Илова Эзоҳ