Izdanje sustava za izgradnju CMake 3.15

odvijao izdanje višeplatformskog generatora otvorenih skripti za izgradnju CMake 3.15, koji djeluje kao alternativa Autotoolsu i koristi se u projektima kao što su KDE, LLVM/Clang, MySQL, MariaDB, ReactOS i Blender. CMake kod je napisan u C++ i distribuiran pod BSD licencom.

CMake je poznat po pružanju jednostavnog skriptnog jezika, sredstva za proširenje funkcionalnosti putem modula, minimalnog broja ovisnosti (bez vezanja na M4, Perl ili Python), podrške za predmemoriju, prisutnosti alata za unakrsnu kompilaciju, podrške za generiranje međugradnje datoteke za širok raspon sustava za izradu i kompilatora, prisutnost ctest i cpack uslužnih programa za definiranje testnih skripti i paketa za izgradnju, cmake-gui pomoćni program za interaktivno postavljanje parametara za izgradnju.

Glavni poboljšanja:

  • Početna jezična podrška dodana je generatoru skripti za izgradnju temeljenom na Ninji Brz, razvijen od strane Applea;
  • Dodana podrška za varijantu prevoditelja Clang za Windows koji se gradi s MSVC ABI, ali koristi opcije naredbenog retka u stilu GNU-a;
  • Dodane su varijable CMAKE_MSVC_RUNTIME_LIBRARY i MSVC_RUNTIME_LIBRARY za odabir biblioteka vremena izvođenja koje koriste prevoditelji na temelju MSVC ABI (MS Visual Studio);
  • Za prevoditelje kao što je MSVC, CMAKE__FLAGS prema zadanim postavkama zaustavlja ispisivanje kontrolnih zastavica upozorenja kao što je "/W3";
  • Dodan izraz generatora "COMPILE_LANG_AND_ID:" za definiranje opcija prevoditelja za ciljne datoteke, koristeći varijable CMAKE__COMPILER_ID i LANGUAGE za svaku kodnu datoteku;
  • U izrazima generatora C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID i PLATFORM_ID dodali su podršku za podudaranje jedne vrijednosti s popisom čiji su elementi odvojeni zarezom;

  • Dodana varijabla CMAKE_FIND_PACKAGE_PREFER_CONFIG tako da će pozivanje find_package() prvo tražiti konfiguracijsku datoteku paketa, čak i ako je tražilo dostupno;
  • Za biblioteke sučelja, dodana je podrška za postavljanje svojstava PUBLIC_HEADER i PRIVATE_HEADER, pomoću kojih se zaglavlja mogu postaviti pomoću naredbe install(TARGETS) prosljeđivanjem argumenata PUBLIC_HEADER i PRIVATE_HEADER;
  • Dodana varijabla CMAKE_VS_JUST_MY_CODE_DEBUGGING i ciljno svojstvo VS_JUST_MY_CODE_DEBUGGING za omogućavanje načina rada "Samo moj kod" u alatu za ispravljanje pogrešaka Visual Studio prilikom kompajliranja pomoću MSVC cl 19.05 i novijih verzija;
  • Modul FindBoost je redizajniran, koji sada radi holističkije u modovima Config i Module uz prisustvo drugih modula pretraživanja;
  • Naredba message() sada podržava tipove NOTICE, VERBOSE,
    DEBUG i TRACE;

  • Naredba "export(PACKAGE)" sada ne radi ništa osim ako nije izričito omogućena putem varijable CMAKE_EXPORT_PACKAGE_REGISTRY.

Izvor: opennet.ru

Dodajte komentar