Vrystelling van CMake 3.15-boustelsel

plaasgevind vrystelling van 'n kruis-platform oopbou script generator CMaak 3.15, wat dien as 'n alternatief vir Autotools en word gebruik in projekte soos KDE, LLVM/Clang, MySQL, MariaDB, ReactOS en Blender. Die CMake-kode is in C++ geskryf en onder die BSD-lisensie versprei.

CMake is opvallend vir die verskaffing van 'n eenvoudige skriftaal, 'n manier om funksionaliteit deur modules uit te brei, 'n minimale aantal afhanklikhede (geen binding aan M4, Perl of Python), kasondersteuning, die teenwoordigheid van gereedskap vir kruissamestelling, ondersteuning vir die generering van bou. lêers vir 'n wye reeks boustelsels en samestellers, die teenwoordigheid ctest- en cpack-hulpmiddels vir die definisie van toetsskrifte en boupakkette, cmake-gui-hulpmiddel om bouparameters interaktief in te stel.

Die belangrikste verbeterings:

  • Aanvanklike taalondersteuning is bygevoeg by die Ninja-gebaseerde bouskripgenerator Swift, ontwikkel deur Apple;
  • Bygevoeg ondersteuning vir 'n variant van die Clang samesteller vir Windows wat bou met die MSVC ABI, maar gebruik GNU-styl command line opsies;
  • Bygevoeg CMAKE_MSVC_RUNTIME_LIBRARY en MSVC_RUNTIME_LIBRARY veranderlikes om runtime biblioteke te kies wat gebruik word deur samestellers gebaseer op die MSVC ABI (MS Visual Studio);
  • Vir samestellers soos MSVC, hou CMAKE__FLAGS by verstek op om waarskuwingsbeheervlae soos "/W3" te lys;
  • Bygevoeg 'n generator uitdrukking "COMPILE_LANG_AND_ID:" om samesteller opsies vir teiken lêers te definieer, met behulp van die CMAKE__COMPILER_ID en LANGUAGE veranderlikes vir elke kode lêer;
  • In die generator uitdrukkings C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID en PLATFORM_ID het ondersteuning bygevoeg om 'n enkele waarde te pas by 'n lys waarvan die elemente deur 'n komma geskei word;

  • Veranderlike CMAKE_FIND_PACKAGE_PREFER_CONFIG bygevoeg sodat die oproep van find_package() eers na die pakket se konfigurasielêer sal soek, selfs al is 'n vinder beskikbaar;
  • Vir koppelvlakbiblioteke is ondersteuning bygevoeg vir die opstel van die PUBLIC_HEADER- en PRIVATE_HEADER-eienskappe, waardeur kopskrifte gestel kan word met behulp van die install(TARGETS)-opdrag deur die PUBLIC_HEADER- en PRIVATE_HEADER-argumente deur te gee;
  • Bygevoeg CMAKE_VS_JUST_MY_CODE_DEBUGGING veranderlike en teiken eienskap VS_JUST_MY_CODE_DEBUGGING om "Just My Code" modus in die Visual Studio ontfouter te aktiveer wanneer saamgestel word met MSVC cl 19.05 en nuwer weergawes;
  • Die FindBoost-module is herontwerp, wat nou meer holisties werk in Config- en Module-modusse in die teenwoordigheid van ander soekmodules;
  • Die message()-opdrag ondersteun nou die tipes NOTICE, VERBOSE,
    DEBUG en TRACE;

  • Die "export(PACKAGE)" opdrag doen nou niks tensy dit uitdruklik geaktiveer is via die CMAKE_EXPORT_PACKAGE_REGISTRY veranderlike.

Bron: opennet.ru

Voeg 'n opmerking