lansarea unui generator de scenarii de construcție open-source, multiplatformă , 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.
Principalele :
- Pentru limbajul CUDA, a fost asigurată posibilitatea de a compila folosind Clang pe platforme diferite de Windows. Compilarea separată a CUDA nu este încă suportată pe nicio platformă.
- A fost adăugată suport pentru profilarea scenariilor CMake, folosind opțiunile „—profiling-output” și „—profiling-format”.
- În comenzile add_library() și add_executable() a fost adăugat suport pentru crearea unor ținte alias (Alias Targets) care fac referire la ținte importate nonglobale.
- A fost adăugată comanda cmake_language() pentru operații meta asupra comenzilor scriptate sau încorporate.
- A fost adăugată subcomanda file(CONFIGURE), similară funcțional cu comanda configure_file(), dar cu trimiterea conținutului sub formă de șir, nu ca referință la un fișier.
- În comenzile find_program(), find_library(), find_path() și find_file() a fost adăugată opțiunea REQUIRED, care prevede oprirea procesării cu o eroare, dacă nu a fost găsit nimic.
- A fost adăugată variabila „CMAKE_CUDA_ARCHITECTURES” pentru a specifica arhitectura CUDA (se stabilește automat, dacă variabila „CMAKE_CUDA_COMPILER_ID” are valoarea „NVIDIA”).
- A fost adăugată proprietatea „UNITY_BUILD_MODE” pentru a alege în generatoare algoritmul de grupare a fișierelor sursă incluse (BATCH, GROUP).
- A fost adăugat modul CheckLinkerFlag pentru a verifica corectitudinea flag-urilor de linkare.
- Au fost adăugate expresiile generatorului $, $, $ și $.
- Utilitarului ctest i-a fost adăugată variabila CTEST_RESOURCE_SPEC_FILE pentru a specifica un fișier cu specificația resurselor.
Sursa: opennet.ro
