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

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

CMake бо пешниҳоди забони оддии скрипт, воситаи васеъ кардани функсияҳо тавассути модулҳо, шумораи ҳадди ақали вобастагӣ (ҳатмӣ ба M4, Perl ё Python), дастгирии кэш, мавҷудияти абзорҳо барои компилясияи байнисоҳавӣ, дастгирии тавлиди сохтмон намоён аст. файлҳо барои доираи васеи системаҳо ва компиляторҳо, мавҷудияти utilities ctest ва cpack барои муайян кардани скриптҳои санҷишӣ ва бастаҳои сохтмон, утилитаи cmake-gui барои ба таври интерактивӣ танзим кардани параметрҳои сохтмон.

асосӣ беҳбудиҳо:

  • Як генератори нави скрипти васлкунӣ дар асоси асбоби Ninja илова карда шуд - "Ninja Multi-Config", ки аз генератори кӯҳна бо қобилияти коркарди якчанд конфигуратсияҳои васлкунӣ якбора фарқ мекунад.
  • Дар генератори скрипти калисо барои Visual Studio пайдо шуд қобилияти муайян кардани файлҳои ибтидоии марбут ба ҳар як конфигуратсия (барои конфигуратсияҳо).
  • Имконияти танзими параметрҳои мета барои CUDA (“cuda_std_03”, “cuda_std_14” ва ғайра) ба асбобҳои танзими параметрҳои компилятор (Хусусиятҳои Compile) илова карда шудааст.
  • Тағирёбандаҳои "CMAKE_CUDA_RUNTIME_LIBRARY" ва "CUDA_RUNTIME_LIBRARY" барои интихоби навъи китобхонаҳои вақти корӣ ҳангоми истифодаи CUDA илова карда шуданд.
  • Модули "FindCUDAToolkit" барои муайян кардани абзори CUDA, ки дар система мавҷуд аст, бе фаъол кардани забони CUDA илова карда шуд.
  • Ба cmake фармони "--debug-find" илова карда шуд, то ташхиси иловагии хондашаванда ҳангоми иҷрои амалиёти ҷустуҷӯӣ бароварда шавад. Барои мақсадҳои шабеҳ, тағирёбандаи CMAKE_FIND_DEBUG_MODE илова карда шудааст.
  • Дастгирии иловашуда барои ҷустуҷӯи абзорҳои CURL бо истифода аз файлҳои конфигуратсияи аз ҷониби cmake тавлидшуда "CURLConfig.cmake" ба модули "FindCURL". Барои хомӯш кардани ин рафтор, тағирёбандаи CURL_NO_CURL_CMAKE дода мешавад.
  • Модули FindPython қобилияти ҷустуҷӯи ҷузъҳои Python дар муҳити виртуалӣ, ки бо истифода аз "conda" идора карда мешавад, илова кардааст.
  • Утили ctest имконоти "--no-tests=[error|inore]" -ро барои муайян кардани рафтор дар ҳолати набудани санҷиш ва "--repeat" -ро барои муқаррар кардани шартҳои такрории санҷишҳо (то гузаштан, пас аз вақт).
  • Хусусиятҳои ҳадафи маҷлис INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES ва INTERFACE_LINK_DEPENDS ҳоло дар байни вобастагии дохилии китобхонаҳои ба таври статикӣ ҷамъшуда интиқол дода мешаванд.
  • Ҳангоми истифодаи асбоби MinGW, ҷустуҷӯи файлҳои DLL бо фармони find_library ба таври нобаёнӣ ғайрифаъол карда мешавад (ба ҷои ин, кӯшиши пешфарз воридоти китобхонаҳои ".dll.a" мебошад).
  • Мантиқи интихоби утилитаи ниндзя дар генератори Ninja ҳоло аз номи файли иҷрошаванда вобаста нест - аввалин утилитаи ninja-build, ninja ё samu, ки дар роҳҳое, ки тавассути тағирёбандаи муҳити PATH муайян шудааст, истифода мешавад.
  • Ба cmake фармони "-E rm" илова карда шуд, ки онро барои нест кардани файлҳо ва директорияҳо ба ҷои фармонҳои алоҳидаи "-E remove" ва "-E remove_directory" истифода бурдан мумкин аст.

Манбаъ: opennet.ru

Илова Эзоҳ