Mõni päev tagasi CMake 3.15 platvormidevaheline avatud lähtekoodiga skriptigeneraator vabastati mis toimib Autotoolsi alternatiivina ja mida kasutatakse sellistes projektides nagu KDE, LLVM / Clang, MySQL, MariaDB, ReactOS ja Blender.
CMake on mitmeplatvormiline koodi genereerimise või automatiseerimise tööriist. See nimi on lühend "cross platform make" (tee ristplatvorm, lisaks nimes "make" kasutamisele, CMake on eraldi komplekt ja kõrgem tase kui tavaline margisüsteem Unixist, sarnanedes autotööriistadega.
CMake'i kohta
CMake on märkimisväärne lihtsa skriptikeele pakkumise tõttu, tööriistad funktsionaalsuse laiendamiseks moodulite vahel, minimaalne arv sõltuvusi (ei seondu M4, Perli ega Pythoniga), vahemälu tugi, ristkompileerimise tööriistade kättesaadavus, tugi monteerimisfailide loomiseks laia valiku kompilaatorisüsteemide ja kompilaatorite jaoks.
Ctest ja cpack utiliidid teststsenaariumide määratlemiseks ja paketi loomiseks koos cmake-gui utiliidiga ehitusparameetrite interaktiivseks konfigureerimiseks.
CMake'i kasutatakse tarkvara kompileerimisprotsessi juhtimiseks lihtsate ja sõltumatute konfiguratsioonifailide abil platvormi. Cmake genereerib kohalikud makefailid ja tööruumid, mida saab kasutada soovitud arenduskeskkonnas.
See on võrreldav Unixi GNU loomise süsteemiga selle poolest, et protsessi juhivad konfiguratsioonifailid, CMake puhul nimega CMakeLists.txt.
Erinevalt GNU ehitussüsteemist, mis on piiratud Unixi platvormidega, CMake toetab failide genereerimist erinevate opsüsteemide jaoks, mis hõlbustab hooldust ja välistab vajaduse, et iga platvormi jaoks oleks mitu failikomplekti.
Ehitamisprotsessi kontrollitakse, luues igasse kataloogi (sh alamkataloogidesse) ühe või mitu CMakeLists.txt-faili.
CMake kood on kirjutatud C ++ keeles ja seda levitatakse BSD litsentsi alusel.
CMake 3.15 peamised uued funktsioonid
See uus versioon mida tõi esile Swifti keele esialgse generaatori toe saabumine Apple'i poolt välja töötatud on lisatud Ninja Toolkiti koosteskriptide generaatorisse.
Lisaks sellele Samuti tuleb toetada Clangi kompilaatori valikut Windowsi jaoks, mis on ehitatud ABI MSVC-ga, kuid kasutab GNU-stiilis käsureavalikuid.
Arendajad rõhutavad, et muutujad CMAKE_MSVC_RUNTIME_LIBRARY
y MSVC_RUNTIME_LIBRARY
lisatakse kompilaatorite kasutatavate käitamisraamatukogude valimiseks ABI MSVC
(MS VisualStudio).
Koostajatele nagu MSVC
sisse CMAKE__FLAGS
Vaikimisi peatatakse hoiatavate juhtlippude loend nagu "/ W3".
Muudest täiustustest, mida selle uue versiooni väljaandmise teates esile tõstetakse, leiame järgmise:
- Lisati genereeriv avaldis '
COMPILE_LANG_AND_ID
: »Muutujaid kasutavate sihtfailide kompilaatori suvandite määratlemiseksCMAKE__COMPILER_ID
yLANGUAGE
iga koodifaili jaoks - Generaatori avaldised
C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID,
Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID
yPLATFORM_ID
lisage loendi väärtuste sobitamiseks toega komadega eraldatud üksused - Muutuja lisati
CMAKE_FIND_PACKAGE_PREFER_CONFIG
, milles kõne find_package () otsib kõigepealt paketi konfiguratsioonifaili, isegi kui otsingumoodul on saadaval - Liidese teekide jaoks on lisatud atribuutide seadistamise tugi
PUBLIC_HEADER y PRIVATE_HEADER
, mille päiseid saab konfigureerida käsku install (TARGETS), edastades argumendidPUBLIC_HEADER
yPRIVATE_HEADER
- Muutuja lisati
CMAKE_VS_JUST_MY_CODE_DEBUGGING
ja sihtkoha varaVS_JUST_MY_CODE_DEBUGGING
MSVC cl 19.05 ja uuemate versioonide kasutamisel kompileerimisel Visual Studio siluris režiimi "Just My Code" lubamine. - FindBoost moodul on ümber töötatud, mida töötatakse nüüd täielikumalt konfiguratsiooni ja mooduli režiimides koos teiste otsingumoodulite olemasoluga
- Teatiste NOTICE, VERBOSE, DEBUG ja TRACE tugi on lisatud käsule message ()
- Käsk "eksport (PAKETT)" ei tee nüüd midagi enne, kui see on muutuja kaudu selgesõnaliselt lubatud
CMAKE_EXPORT_PACKAGE_REGISTRY
.
Kui soovite selle kohta rohkem teada saada, võite pöörduda järgmine link.