CMake este remarcabil pentru furnizarea unui limbaj de scripting simplu, un mijloc de extindere a funcționalității prin module, un număr minim de dependențe (fără legarea la M4, Perl sau Python), suport pentru cache, prezența instrumentelor pentru compilare încrucișată, suport pentru generarea de build fișiere pentru o gamă largă de sisteme de compilare și compilatoare, utilitarele de prezență ctest și cpack pentru definirea scripturilor de testare și a pachetelor de construire, utilitarul cmake-gui pentru setarea interactivă a parametrilor de construcție.
Principalul
- Limbajul CUDA poate fi construit folosind Clang pe alte platforme decât Windows. Compilarea separată CUDA nu este încă acceptată pe nicio platformă.
- S-a adăugat suport pentru profilarea scripturilor CMake folosind opțiunile „--profiling-output” și „--profiling-format”.
- Comenzile add_library() și add_executable() acceptă acum crearea de ținte Alias care se referă la ținte importate non-globale.
- S-a adăugat comanda cmake_language() pentru operațiuni meta pe comenzi scriptate sau încorporate.
- S-a adăugat subcomandă fișier(CONFIGURE), similară ca funcționalitate cu configure_file(), dar care transmite conținutul ca șir, mai degrabă decât ca referință la fișier.
- S-a adăugat o opțiune NECESARĂ la comenzile find_program(), find_library(), find_path() și find_file() pentru a opri procesarea cu o eroare dacă nu a fost găsit nimic.
- S-a adăugat variabila „CMAKE_CUDA_ARCHITECTURES” pentru a indica arhitectura CUDA (setată automat dacă variabila „CMAKE_CUDA_COMPILER_ID” este setată la „NVIDIA”).
- S-a adăugat proprietatea „UNITY_BUILD_MODE” pentru selectarea algoritmului de grupare pentru fișierele sursă incluse (BATCH, GROUP) în generatoare.
- S-a adăugat modulul CheckLinkerFlag pentru a verifica corectitudinea semnalizatoarelor de legătură.
- S-au adăugat expresii generatoare de $ , $ , $ și $ .
- Variabila CTEST_RESOURCE_SPEC_FILE a fost adăugată la utilitarul ctest pentru a specifica fișierul cu specificațiile resursei.
Sursa: opennet.ru