A fost lansată versiunea cross-platform a generatorului de scripturi de construire CMake 3.22, care servește ca alternativă la Autotools și este utilizat în proiecte precum KDE, LLVM/Clang, MySQL, MariaDB, ReactOS și Blender. Codul CMake este scris în C++ și este distribuit sub licența BSD.
CMake se remarcă prin furnizarea unui limbaj simplu de scripturi, prin extensibilitate prin module, un număr minim de dependențe (fără legături la M4, Perl sau Python), suport pentru caching, instrumente pentru cross-compiling, generarea fișierelor de construcție pentru o gamă largă de sisteme de construcție și compilatoare, utilități ctest și cpack pentru definirea scenariilor de testare și construcție a pachetelor, precum și utilitarul cmake-gui pentru configurarea interactivă a parametrilor de construcție.
Îmbunătățiri principale:
- În instrumentele pentru configurarea opțiunilor compilatorului (Compile Features) a fost introdusă posibilitatea de a activa și dezactiva extensiile compilatorului fără a specifica nivelul de suport pentru standard, precum și excluderea setărilor de flaguri suplimentare cu nivelul standard al limbajului, dacă setările selectate se încadrează în parametrii prestabiliți ai compilatorului.
- În comanda cmake_host_system_information() a fost adăugată posibilitatea de a solicita identificatorul sistemului de operare, stocat în fișierul /etc/os-release.
- Au fost adăugate variabilele de mediu CMAKE_BUILD_TYPE și CMAKE_CONFIGURATION_TYPES, prin care se poate seta o valoare implicită pentru variabilele CMake cu același nume.
- A fost adăugată variabila „CMAKE_REQUIRE_FIND_PACKAGE_” care transformă apelul funcției find_package() pentru a detecta pachetul specificat într-o cerință obligatorie.
- A fost adăugată variabila de mediu „CMAKE_INSTALL_MODE” pentru a instala linkuri simbolice în locul copierii fișierelor atunci când se apelează „install()”.
- A fost adăugat flagul „CMAKE__LINK_WHAT_YOU_USE_FLAG” și variabila „CMAKE_LINK_WHAT_YOU_USE_CHECK” pentru setarea și verificarea flagurilor de legare.
- În modulul FetchContent a fost asigurat transferul variabilelor setate „CMAKE_TLS_VERIFY”, „CMAKE_TLS_CAINFO”, „CMAKE_NETRC” și „CMAKE_NETRC_FILE” în scriptul de construire a proiectelor externe (anterior, aceste parametrii erau ignorate).
- În macro-ul „cmake_dependent_option()” furnizat de modulul „CMakeDependentOption” a fost adăugată suport complet pentru sintaxa expresiilor condiționale.
- Modulele „FindJasper” și „FindMatlab” oferă acum ținte importabile.
- Proprietatea „VS_SETTINGS” a fost extinsă suportând toate tipurile de fișiere cu cod sursă.
- Generatorul „Visual Studio 10 2010” a fost declarat învechit și va fi eliminat în una dintre următoarele versiuni.
Sursa: opennet.ro
