Рэліз сістэмы зборкі 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

Дадаць каментар