Útgáfa af CMake 3.17.0 byggingarkerfinu

Kynnt útgáfa af opinn smíðaforskriftarrafall á milli vettvanga CMake 3.17, sem virkar sem valkostur við Autotools og er notað í verkefnum eins og KDE, LLVM/Clang, MySQL, MariaDB, ReactOS og Blender. CMake kóðinn er skrifaður í C++ og er dreift undir BSD leyfinu.

CMake er þekkt fyrir að bjóða upp á einfalt forskriftarmál, leið til að auka virkni í gegnum einingar, lágmarksfjölda ósjálfstæðis (engin binding við M4, Perl eða Python), skyndiminnistuðning, tilvist verkfæra fyrir krosssamsetningu, stuðning við að búa til byggingu skrár fyrir fjölbreytt úrval byggingarkerfa og þýðenda, viðveru ctest og cpack tólin til að skilgreina prófunarforskriftir og smíðapakka, cmake-gui tól til að stilla smíðabreytur gagnvirkt.

Helstu endurbætur:

  • Nýjum samsetningarforskriftarrafalli sem byggir á Ninja verkfærakistunni hefur verið bætt við - „Ninja Multi-Config“, sem er frábrugðið gamla rafallnum í getu til að vinna úr nokkrum samsetningarstillingum í einu.
  • Í samsetningarforskriftarrafallinu fyrir Visual Studio birtist getu til að skilgreina upprunaskrár sem tengjast hverri stillingu (hverja uppsprettu uppsprettur).
  • Möguleikinn á að stilla meta færibreytur fyrir CUDA ("cuda_std_03", "cuda_std_14", osfrv.) hefur verið bætt við verkfærin til að stilla þýðandabreytur (Compile Features).
  • Bætti við breytum "CMAKE_CUDA_RUNTIME_LIBRARY" og "CUDA_RUNTIME_LIBRARY" til að velja gerð keyrslusafna þegar CUDA er notað.
  • Bætti við "FindCUDAToolkit" einingunni til að ákvarða CUDA verkfærakistuna sem er í boði á kerfinu án þess að virkja CUDA tungumálið.
  • Bætt við "--debug-find" skipuninni til að cmake til að gefa út viðbótar læsileg greiningu þegar leitaraðgerðir eru framkvæmdar. Í svipuðum tilgangi hefur CMAKE_FIND_DEBUG_MODE breytunni verið bætt við.
  • Bætti við stuðningi við að leita að CURL verkfærum með því að nota cmake-myndaðar stillingarskrár „CURLConfig.cmake“ við „FindCURL“ eininguna. Til að slökkva á þessari hegðun er CURL_NO_CURL_CMAKE breytan gefin upp.
  • FindPython einingin hefur bætt við getu til að leita að Python íhlutum í sýndarumhverfi sem stjórnað er með „conda“.
  • Ctest tólið hefur bætt við „--no-tests=[villa|ignore]“ valkostinum til að skilgreina hegðun ef engin próf eru og „--repeat“ til að setja skilyrði fyrir endurkeyrslu próf (þar til-stað, eftir leikhlé).
  • Samsetningarmarkareiginleikarnir INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES og INTERFACE_LINK_DEPENDS eru nú fluttir á milli innri ósjálfstæðis í kyrrstöðu settum bókasöfnum.
  • Þegar MinGW verkfærakistan er notuð er sjálfgefið slökkt á leit að DLL skrám með find_library skipuninni (í staðinn er sjálfgefin tilraun að flytja inn ".dll.a" bókasöfn).
  • Rökfræðin fyrir því að velja ninja tólið í Ninja rafallinu er nú ekki háð nafni á keyrsluskránni - fyrsta ninja-bygging, ninja eða samu tólin sem finnast á slóðunum sem skilgreindar eru í gegnum PATH umhverfisbreytuna er notað.
  • Bætti við "-E rm" skipun í cmake sem hægt er að nota til að fjarlægja skrár og möppur í stað aðskildu "-E remove" og "-E remove_directory" skipananna.

Heimild: opennet.ru

Bæta við athugasemd