Acum câteva zile CMake 3.15 generator de scripturi open-source multiplataforma lansat care acționează ca o alternativă la Autotools și este utilizat în proiecte precum KDE, LLVM / Clang, MySQL, MariaDB, ReactOS și Blender.
CMake este un instrument de automatizare sau generare de cod multiplatformă. Numele este o abreviere pentru „cross platform make” (faceți platformă transversală, dincolo de utilizarea „face” în nume, CMake este o suită separată și un nivel superior față de sistemul make comun din Unix, fiind similar cu instrumentele automate.
Despre CMake
CMake se remarcă prin oferirea unui limbaj de scriptare simplu, instrumente pentru extinderea funcționalității între module, număr minim de dependențe (fără legare la M4, Perl sau Python), suport pentru cache, disponibilitatea instrumentelor pentru compilare încrucișată, suport pentru generarea fișierelor de asamblare pentru o gamă largă sisteme de compilare și compilatoare.
Utilitățile ctest și cpack pentru definirea scenariilor de testare și crearea pachetelor, cu utilitarul cmake-gui pentru configurarea interactivă a parametrilor de construcție.
CMake este utilizat pentru a controla procesul de compilare a software-ului folosind fișiere de configurare simple și independente de pe platformă. Cmake generează fișiere de make-up și spații de lucru native care pot fi utilizate în mediul de dezvoltare dorit.
Este comparabil cu sistemul de construire GNU al Unix prin faptul că procesul este controlat de fișiere de configurare, în cazul CMake numit CMakeLists.txt.
Spre deosebire de sistemul de construire GNU, care este limitat la platformele Unix, CMake acceptă generarea de fișiere pentru diferite sisteme de operare, ceea ce facilitează întreținerea și elimină necesitatea de a avea mai multe seturi de fișiere pentru fiecare platformă.
Procesul de construire este controlat prin crearea unuia sau mai multor fișiere CMakeLists.txt în fiecare director (inclusiv subdirectoare).
Codul CMake este scris în C ++ și este distribuit sub licența BSD.
Principalele caracteristici noi ale CMake 3.15
Această nouă versiune evidențiat de sosirea suportului inițial al generatorului pentru limba Swift Dezvoltat de Apple a fost adăugat la generatorul de scripturi de asamblare Ninja Toolkit.
În afară de aceasta, vine și suport pentru opțiunea de compilare Clang pentru Windows care este construit cu ABI MSVC, dar utilizează opțiunile liniei de comandă în stil GNU.
Dezvoltatorii subliniază că variabilele CMAKE_MSVC_RUNTIME_LIBRARY
y MSVC_RUNTIME_LIBRARY
sunt adăugate pentru a selecta bibliotecile de rulare utilizate de compilatoare ABI MSVC
(MS VisualStudio).
Pentru compilatoare precum MSVC
în CMAKE__FLAGS
În mod implicit, lista steagurilor de control de avertizare, cum ar fi „/ W3” este oprită.
Dintre celelalte îmbunătățiri care sunt evidențiate în anunțul lansării acestei noi versiuni, găsim următoarele:
- S-a adăugat expresia generatoare „
COMPILE_LANG_AND_ID
: »Pentru a defini opțiunile compilatorului pentru fișierele țintă care utilizează variabileCMAKE__COMPILER_ID
yLANGUAGE
pentru fiecare fișier de cod - Expresiile generatoare
C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID,
Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID
yPLATFORM_ID
adăugați suport pentru potrivirea unei valori la o listă, elemente separate prin virgulă - Variabila a fost adăugată
CMAKE_FIND_PACKAGE_PREFER_CONFIG
, în care apelul către find_package () va căuta mai întâi fișierul de configurare a pachetului, chiar dacă modulul de căutare este disponibil - Pentru bibliotecile de interfețe, a fost adăugat suport pentru setarea proprietăților
PUBLIC_HEADER y PRIVATE_HEADER
, ale cărui antete pot fi configurate prin comanda de instalare (TARGETS) care transmite argumentelePUBLIC_HEADER
yPRIVATE_HEADER
- Variabila a fost adăugată
CMAKE_VS_JUST_MY_CODE_DEBUGGING
și proprietatea de destinațieVS_JUST_MY_CODE_DEBUGGING
pentru a activa modul "Just My Code" în depanatorul Visual Studio atunci când compilați utilizând MSVC cl 19.05 și versiuni mai noi. - Modulul FindBoost a fost refăcut, care este acum mai complet lucrat în modurile de configurare și modul, cu prezența altor module de căutare
- Suportul pentru tipurile NOTICE, VERBOSE, DEBUG și TRACE a fost adăugat la comanda message ()
- Comanda „export (PACKAGE)” nu face acum nimic până nu este activată în mod explicit prin intermediul variabilei
CMAKE_EXPORT_PACKAGE_REGISTRY
.
Dacă doriți să aflați mai multe despre aceasta, puteți consulta următorul link.