A CMake 3.15 build rendszer kiadása

került sor egy többplatformos nyílt build szkriptgenerátor kiadása CMake 3.15, amely az Autotools alternatívájaként működik, és olyan projektekben használatos, mint a KDE, LLVM/Clang, MySQL, MariaDB, ReactOS és Blender. A CMake kód C++ nyelven íródott, és a BSD licenc alatt kerül terjesztésre.

A CMake arról nevezetes, hogy egyszerű szkriptnyelvet biztosít, a funkcionalitás modulokon keresztül történő kibővítését, minimális számú függőséget (nincs kötve M4-hez, Perlhez vagy Pythonhoz), gyorsítótárazási támogatást, keresztfordítási eszközöket, összeállítás generálásának támogatását. fájlok a build rendszerek és fordítók széles skálájához, a jelenléti ctest és cpack segédprogramok tesztszkriptek és csomagok összeállításához, cmake-gui segédprogram az összeállítási paraméterek interaktív beállításához.

A főbb fejlesztések:

  • A kezdeti nyelvi támogatás hozzáadásra került a Ninja-alapú build script generátorhoz Gyors, amelyet az Apple fejlesztett;
  • Támogatás hozzáadva a Windows Clang fordítójának egy olyan változatához, amely MSVC ABI-val épül fel, de GNU-stílusú parancssori opciókat használ;
  • CMAKE_MSVC_RUNTIME_LIBRARY és MSVC_RUNTIME_LIBRARY változók hozzáadva az MSVC ABI-n (MS Visual Studio) alapuló fordítók által használt futásidejű könyvtárak kiválasztásához;
  • Az olyan fordítóknál, mint az MSVC, a CMAKE__FLAGS alapértelmezés szerint leállítja a figyelmeztető vezérlőjelzők, például "/W3" felsorolását;
  • Hozzáadott egy "COMPILE_LANG_AND_ID:" generátorkifejezést a fordítói beállítások meghatározásához a célfájlokhoz, a CMAKE__COMPILER_ID és a LANGUAGE változók használatával minden kódfájlhoz;
  • A generátor kifejezésekben C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    A COMPILE_LANG_AND_ID és a PLATFORM_ID támogatta egyetlen érték egy olyan listához való illesztését, amelynek elemei vesszővel vannak elválasztva;

  • Hozzáadtuk a CMAKE_FIND_PACKAGE_PREFER_CONFIG változót, így a find_package() meghívása először a csomag konfigurációs fájlját keresi, még akkor is, ha elérhető kereső;
  • Az interfész-könyvtárak esetében a PUBLIC_HEADER és a PRIVATE_HEADER tulajdonságok beállításának támogatása került hozzáadásra, amellyel a fejlécek az install(TARGETS) paranccsal állíthatók be, a PUBLIC_HEADER és PRIVATE_HEADER argumentumok átadásával;
  • A CMAKE_VS_JUST_MY_CODE_DEBUGGING változó és a VS_JUST_MY_CODE_DEBUGGING céltulajdonság hozzáadva a "Just My Code" mód engedélyezéséhez a Visual Studio hibakeresőben az MSVC cl 19.05 és újabb verzióival történő fordításkor;
  • A FindBoost modult újratervezték, amely mostantól holisztikusabban működik Config és Module módban, más keresési modulok jelenlétében;
  • A message() parancs mostantól támogatja a NOTICE, VERBOSE,
    DEBUG és TRACE;

  • Az "export(PACKAGE)" parancs most nem csinál semmit, hacsak nincs kifejezetten engedélyezve a CMAKE_EXPORT_PACKAGE_REGISTRY változón keresztül.

Forrás: opennet.ru

Hozzászólás