CMake 3.16 väljaanne

Esitletud plattvormidevaheline avatud ehitus-skripti generaator CMake 3.16, mis toimib Autotools'i alternatiivina ja on kasutusel sellistes projektides nagu KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ja Blender. CMake'i kood on kirjutatud C++ keeles ja levitatakse BSD litsentsi alusel.

CMake paistab silma lihtsa skriptikeele pakkumisega, funktsionaalsuse laiendamise võimalustega moodulite kaudu, minimaalsete sõltuvustega (ilma M4, Perl või Python'i seotuse), cache'i toe, ristkompileerimise tööriistade olemasolu, laia valiku ehitus-süsteemide ja kompilaatorite jaoks ehitusfailide genereerimise tuge, samuti ctest ja cpack utiliitide olemasolu testimise skriptide ja pakettide kogumise määratlemiseks ning interaktiivsete ehitusparameetrite seadistamiseks mõeldud cmake-gui utiliidiga.

Peamised parandused:

  • Lisatud tugi Objective C („OBJC“) ja Objective
    C++ („OBJCXX“) keelte jaoks, mis saab aktiveerida project() ja enable_language() käskudega; seejärel kompileeritakse „.m“ ja „.mm“ failide kood Objective C ja Objective C++ koodina, mitte C++ koodina nagu varem.
  • Lisatud Clang kompilaatori tugi Solaris platvormil;
  • Lisatud uued käsurea argumendid: „cmake -E true|false“ tagastamiseks 0 ja 1; „cmake —trace-redirect=“ jälgimise teabe suunamiseks faili, mitte
    „stderr“; käsk „cmake —loglevel“ on nimetatud ümber „—log-level“ vastavusse viimiseks teiste käskude nimedega;
  • Lisatud käsk „target_precompile_headers()“ eelkompileerimisele kuuluvate header-failide loetlemiseks (lühendab kompileerimise aega);
  • Lisatud omadus „UNITY_BUILD“, mis aktiveerib lähtefailide paketiseisundi töötlemise ehitustootjates, et kiirendada kogumist;
  • Lisatud käsud „find_file()“, „find_library()“, „find_path()“,
    „find_package()“ ja „find_program()“ failide, raamatukogude, teede, pakkumiste ja käivitatavate failide otsimiseks vastavalt muutujaile, mis määravad erinevate failikategooriate otsinguteed.
    Otsinguteede haldamiseks kasutatakse muutujaid „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_SYSTEM_ENVIRONMENT_PATH“ ja „CMAKE_FIND_USE_PACKAGE_REGISTRY“;
  • Käsk «file()» lisati režiim «file(GET_RUNTIME_DEPENDENCIES)», mis võimaldab rekursiivselt välja tõmmata loetelu teekidest, mida kasutatakse täitmisfaili või teegi dünaamilisel sidumisel. Režiim asendab käsku GetPrerequisites(), mis on nüüd deklareeritud aegunuks;
  • Käsk «ctest(1)» on saanud testide serialiseerimise võimaluse, mis põhineb iga testi nõutavatel ressurssidel;
  • Muuttuja «CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY» on deklareeritud aegunuks, selle asemel tuleks kasutada «CMAKE_FIND_USE_PACKAGE_REGISTRY»;
  • Platvormi AIX toe parandus. Kui kasutada omadust «ENABLE_EXPORTS», luuakse nüüd koos täitmisfailiga ka sidumise importfail, mis salvestatakse laiendiga «.imp». Pluginates, mis on loodud käsu «add_library()» abil koos valikuga «MODULE», saab seda faili kasutada sidumisel käsu «target_link_libraries()» kaudu. AIX-is on automaatne runtime-sidumine vaikimisi keelatud, kuna CMake pakub nüüd kogu vajaliku teabe sümbolite sidumiseks laadimise ajal. Dünaamiliste teekide või laaditavate moodulite runtime-sidumise rakendamiseks tuleb selgelt määrata valikud «-Wl,-G» siduri käivitamise lipufailide nimekirjas, mis on määratud muutujate «CMAKE_SHARED_LINKER_FLAGS» ja «CMAKE_MODULE_LINKER_FLAGS» kaudu.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster