Lansarea sistemului de compilare CMake 3.18

Introdus lansarea unui generator de scripturi open build multiplatformă CMake 3.18, care acționează ca o alternativă la Autotools și este folosit î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 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 îmbunătățiri:

  • 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

Adauga un comentariu