Izdanje CMake 3.15 build sistema

održan izdanje višeplatformskog generatora otvorenih skripti CMake 3.15, koji djeluje kao alternativa Autotools-u i koristi se u projektima kao što su KDE, LLVM/Clang, MySQL, MariaDB, ReactOS i Blender. CMake kod je napisan u C++ i distribuira se pod BSD licencom.

CMake je poznat po tome što pruža jednostavan skript jezik, sredstvo za proširenje funkcionalnosti kroz module, minimalan broj zavisnosti (bez vezivanja za M4, Perl ili Python), podršku za keširanje, prisustvo alata za unakrsnu kompilaciju, podršku za generisanje build-a datoteke za širok spektar sistema i kompajlera za izgradnju, prisutnost ctest i cpack uslužnih programa za definisanje testnih skripti i paketa za izgradnju, cmake-gui uslužni program za interaktivno postavljanje parametara izgradnje.

Glavni poboljšanja:

  • Inicijalna jezička podrška je dodana generatoru skripti za izgradnju zasnovanom na Ninja brz, koju je razvio Apple;
  • Dodata podrška za varijantu Clang kompajlera za Windows koji se gradi sa MSVC ABI, ali koristi opcije komandne linije u GNU stilu;
  • Dodane varijable CMAKE_MSVC_RUNTIME_LIBRARY i MSVC_RUNTIME_LIBRARY za odabir runtime biblioteka koje koriste kompajleri zasnovani na MSVC ABI (MS Visual Studio);
  • Za kompajlere kao što je MSVC, CMAKE__FLAGS podrazumevano prestaje da navodi kontrolne zastavice upozorenja kao što je "/W3";
  • Dodan izraz generatora "COMPILE_LANG_AND_ID:" za definiranje opcija kompajlera za ciljne datoteke, koristeći varijable CMAKE__COMPILER_ID i LANGUAGE za svaku datoteku koda;
  • 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 sa listom čiji su elementi odvojeni zarezom;

  • Dodata varijabla CMAKE_FIND_PACKAGE_PREFER_CONFIG tako da će pozivanje find_package() prvo tražiti konfiguracijsku datoteku paketa, čak i ako je pronalazač dostupan;
  • Za biblioteke interfejsa, 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;
  • Dodata CMAKE_VS_JUST_MY_CODE_DEBUGGING varijabla i ciljno svojstvo VS_JUST_MY_CODE_DEBUGGING da se omogući način rada "Samo moj kod" u Visual Studio debuggeru prilikom kompajliranja koristeći MSVC cl 19.05 i novije verzije;
  • Modul FindBoost je redizajniran, koji sada radi holističkije u Config i Module modovima u prisustvu drugih modula pretraživanja;
  • Komanda message() sada podržava tipove NOTICE, VERBOSE,
    DEBUG i TRACE;

  • Komanda "export(PACKAGE)" sada ne radi ništa osim ako nije eksplicitno omogućena preko varijable CMAKE_EXPORT_PACKAGE_REGISTRY.

izvor: opennet.ru

Dodajte komentar