Lansarea sistemului de compilare CMake 3.15

a avut loc lansarea unui generator de scripturi open build multiplatformă CMake 3.15, 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:

  • Suportul inițial al limbajului a fost adăugat generatorului de scripturi de construcție bazat pe Ninja Rapid, dezvoltat de Apple;
  • S-a adăugat suport pentru o variantă a compilatorului Clang pentru Windows care se construiește cu MSVC ABI, dar utilizează opțiuni de linie de comandă în stil GNU;
  • S-au adăugat variabilele CMAKE_MSVC_RUNTIME_LIBRARY și MSVC_RUNTIME_LIBRARY pentru a selecta bibliotecile de rulare utilizate de compilatoare bazate pe MSVC ABI (MS Visual Studio);
  • Pentru compilatoare precum MSVC, CMAKE__FLAGS în mod implicit oprește listarea semnalizatoarelor de control de avertizare, cum ar fi „/W3”;
  • S-a adăugat o expresie generator „COMPILE_LANG_AND_ID:” pentru a defini opțiunile compilatorului pentru fișierele țintă, folosind variabilele CMAKE__COMPILER_ID și LANGUAGE pentru fiecare fișier de cod;
  • În expresiile generatoare C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID și PLATFORM_ID au adăugat suport pentru potrivirea unei singure valori cu o listă ale cărei elemente sunt separate prin virgulă;

  • S-a adăugat variabila CMAKE_FIND_PACKAGE_PREFER_CONFIG, astfel încât apelarea find_package() va căuta mai întâi fișierul de configurare al pachetului, chiar dacă este disponibil un instrument de căutare;
  • Pentru bibliotecile de interfață, a fost adăugat suport pentru setarea proprietăților PUBLIC_HEADER și PRIVATE_HEADER, prin care anteturile pot fi setate folosind comanda install(TARGETS) prin trecerea argumentelor PUBLIC_HEADER și PRIVATE_HEADER;
  • S-a adăugat variabila CMAKE_VS_JUST_MY_CODE_DEBUGGING și proprietatea țintă VS_JUST_MY_CODE_DEBUGGING pentru a activa modul „Doar My Code” în depanatorul Visual Studio la compilare folosind MSVC cl 19.05 și versiuni mai noi;
  • Modulul FindBoost a fost reproiectat, care acum funcționează mai holistic în modurile Config și Module în prezența altor module de căutare;
  • Comanda message() acceptă acum tipurile NOTICE, VERBOSE,
    DEBUG și TRACE;

  • Comanda „export(PACKAGE)” acum nu face nimic decât dacă este activată în mod explicit prin variabila CMAKE_EXPORT_PACKAGE_REGISTRY.

Sursa: opennet.ru

Adauga un comentariu