Útgáfa af CMake 3.16 byggingarkerfinu

Kynnt útgáfa af opinn smíðaforskriftarrafall á milli vettvanga CMake 3.16, 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:

  • Bætti við stuðningi við Objective C ("OBJC") og Objective tungumál
    C++ ("OBJCXX"), sem hægt er að virkja með project() og enable_language() skipunum, eftir það mun kóðinn í ".m" ".mm" skránum safna saman sem Objective C og Objective C++ kóða, frekar en sem C++, eins og það var áður;

  • Bætti við stuðningi fyrir Clang þýðanda á Solaris pallinum;
  • Nýjum skipanalínuvalkostum bætt við: "cmake -E true|false" til að prenta skilakóða 0 og 1; "cmake --trace-redirect=" til að beina rakningarupplýsingum í skrá í staðinn
    "stderr"; "cmake --loglevel" skipunin hefur verið endurnefnd í "--log-level" til að færa hana í takt við nöfn hinna skipana;

  • Bætti við "target_precompile_headers()" skipuninni til að skrá lista yfir hausskrár sem notaðar eru við forsamsetningu (dregur úr byggingartíma);
  • Bætti við „UNITY_BUILD“ eigninni, sem virkjar lotuhaminn til að vinna upprunaskrár í rafala til að flýta fyrir byggingu;
  • Bætt við skipunum „find_file()“, „find_library()“, „find_path()“,
    "find_package()" og "find_program()" til að leita að skrám, bókasöfnum, slóðum, pökkum og keyrslum samkvæmt breytum sem skilgreina leitarleiðir fyrir ýmsa flokka skráa.
    Breyturnar „CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH“, „CMAKE_FIND_USE_CMAKE_PATH“, „CMAKE_FIND_USE_CMAKE_SYSTEM_PATH“, „CMAKE_FIND_USE_PACKAGE_ROOT_PATH“, „CMAKE_FIND_USE_CMAKE_PATH“, „CMAKE_FIND_EN”_USE_CMAKE_FIND_EN_USE_CMAKE_EGREG_EN_USE_USE_USE_USE_USE_PATH IST" eru notuð til að stjórna grunnleitarleiðunum RY";

  • Bætti „file(GET_RUNTIME_DEPENDENCIES)“ stillingunni við „file()“ skipunina, sem gerir þér kleift að endurheimta lista yfir bókasöfn sem notuð eru þegar keyranleg skrá eða bókasafn er tengt á virkan hátt. Stillingin kom í stað GetPrerequisites() skipunarinnar, sem hefur nú verið úrelt;
  • „ctest(1)“ skipunin útfærir getu til að raðgreina próf byggt á tilföngum sem þarf fyrir hvert próf;
  • Breytan "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" hefur verið úrelt og ætti að skipta henni út fyrir "CMAKE_FIND_USE_PACKAGE_REGISTRY";
  • Bættur AIX pallur stuðningur. Þegar „ENABLE_EXPORTS“ eignin er notuð, til viðbótar við keyrsluskrána, er nú búið til innflutningsskrá fyrir tengilinn, vistuð með „.imp“ endingunni. Í viðbótum sem eru búnar til með því að kalla „add_library()“ með „MODULE“ valkostinum er hægt að nota þessa skrá þegar tengt er með „target_link_libraries()“ skipuninni. Runtime tenging á AIX er sjálfgefið óvirk vegna þess að CMake veitir nú allar nauðsynlegar táknupplýsingar til að tengja við hleðslutíma. Til að nota keyrslutengingu á kraftmiklum bókasöfnum eða hlaðanlegum einingum, verður þú að tilgreina sérstaklega valkostina „-Wl, -G“ í listum yfir ræsingarfána tengiliða, skilgreinda með breytunum „CMAKE_SHARED_LINKER_FLAGS“ og „CMAKE_MODULE_LINKER_FLAGS“.

Heimild: opennet.ru

Bæta við athugasemd