Izdaja sistema gradnje CMake 3.15

potekala izdaja večplatformskega odprtega generatorja skriptov za gradnjo CMake 3.15, ki deluje kot alternativa Autotools in se uporablja v projektih, kot so KDE, LLVM/Clang, MySQL, MariaDB, ReactOS in Blender. Koda CMake je napisana v C++ in se distribuira pod licenco BSD.

CMake je znan po tem, da zagotavlja preprost skriptni jezik, sredstvo za razširitev funkcionalnosti prek modulov, minimalno število odvisnosti (brez vezave na M4, Perl ali Python), podporo za predpomnjenje, prisotnost orodij za navzkrižno prevajanje, podporo za ustvarjanje gradnje datoteke za široko paleto gradbenih sistemov in prevajalnikov, prisotnost pripomočkov ctest in cpack za definiranje testnih skriptov in gradnjo paketov, pripomoček cmake-gui za interaktivno nastavitev gradbenih parametrov.

Glavni izboljšave:

  • Generatorju gradbenih skriptov, ki temelji na Ninji, je bila dodana začetna jezikovna podpora Swift, ki ga je razvil Apple;
  • Dodana podpora za različico prevajalnika Clang za Windows, ki gradi z MSVC ABI, vendar uporablja možnosti ukazne vrstice v slogu GNU;
  • Dodani spremenljivki CMAKE_MSVC_RUNTIME_LIBRARY in MSVC_RUNTIME_LIBRARY za izbiro izvajalnih knjižnic, ki jih uporabljajo prevajalniki na podlagi MSVC ABI (MS Visual Studio);
  • Za prevajalnike, kot je MSVC, CMAKE__FLAGS privzeto preneha prikazovati opozorilne nadzorne zastavice, kot je "/W3";
  • Dodan generatorski izraz »COMPILE_LANG_AND_ID:« za definiranje možnosti prevajalnika za ciljne datoteke z uporabo spremenljivk CMAKE__COMPILER_ID in LANGUAGE za vsako kodno datoteko;
  • V generatorskih izrazih C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID in PLATFORM_ID sta dodali podporo za ujemanje posamezne vrednosti s seznamom, katerega elementi so ločeni z vejico;

  • Dodana spremenljivka CMAKE_FIND_PACKAGE_PREFER_CONFIG, tako da bo klic find_package() najprej poiskal konfiguracijsko datoteko paketa, tudi če je iskalnik na voljo;
  • Za vmesniške knjižnice je bila dodana podpora za nastavitev lastnosti PUBLIC_HEADER in PRIVATE_HEADER, s katerimi je mogoče nastaviti glave z ukazom install(TARGETS) s posredovanjem argumentov PUBLIC_HEADER in PRIVATE_HEADER;
  • Dodana spremenljivka CMAKE_VS_JUST_MY_CODE_DEBUGGING in ciljna lastnost VS_JUST_MY_CODE_DEBUGGING za omogočanje načina »Just My Code« v razhroščevalniku Visual Studio pri prevajanju z uporabo MSVC cl 19.05 in novejših različic;
  • Modul FindBoost je bil preoblikovan in zdaj deluje bolj celostno v načinih Config in Module ob prisotnosti drugih iskalnih modulov;
  • Ukaz message() zdaj podpira tipe NOTICE, VERBOSE,
    DEBUG in TRACE;

  • Ukaz »export(PACKAGE)« zdaj ne naredi ničesar, razen če je izrecno omogočen prek spremenljivke CMAKE_EXPORT_PACKAGE_REGISTRY.

Vir: opennet.ru

Dodaj komentar