Den nya CMake 3.15-skriptgeneratoruppdateringen har släppts

cmmake

Några dagar sedan CMake 3.15 öppen källkodsgenerator över plattformen släpptes som fungerar som ett alternativ till Autotools och används i projekt som KDE, LLVM / Clang, MySQL, MariaDB, ReactOS och Blender.

CMake är ett genererings- eller automatiseringsverktyg för multiplatform. Namnet är en förkortning för "cross platform make" (gör cross platform, bortom användningen av "make" i namnet, CMake är en separat svit och högre nivå än det gemensamma märkesystemet av Unix, liknar autotools.

Om CMake

CMake är anmärkningsvärt för att tillhandahålla ett enkelt skriptspråk, verktyg för att utöka funktionalitet över moduler, minimalt antal beroenden (ingen bindning till M4, Perl eller Python), cachingsupport, tillgänglighet av verktyg för tvärkompilering, stöd för att generera monteringsfiler för ett brett spektrum av kompilatorsystem och kompilatorer.

Ctest- och cpack-verktygen för att definiera testscenarier och paketskapande, med cmake-gui-verktyget för interaktiv konfigurering av byggparametrar.

CMake används för att styra sammanställningen av programvaran med enkla och oberoende konfigurationsfiler av plattformen. Cmake genererar inbyggda makefiler och arbetsytor som kan användas i önskad utvecklingsmiljö.

Det är jämförbart med Unix GNU-byggsystem genom att processen styrs av konfigurationsfiler, i fallet med CMake som heter CMakeLists.txt.

Till skillnad från GNU-byggsystemet, vilket är begränsat till Unix-plattformar, CMake stöder filgenerering för olika operativsystem, vilket underlättar underhåll och eliminerar behovet av att ha flera uppsättningar filer för varje plattform.

Byggprocessen styrs genom att skapa en eller flera CMakeLists.txt-filer i varje katalog (inklusive underkataloger).

CMake-koden är skriven i C ++ och distribueras under BSD-licensen.

De viktigaste nya funktionerna i CMake 3.15

Denna nya version markeras av ankomsten av inledande generatorstöd för Swift-språket utvecklad av Apple har lagts till i Ninja Toolkit-monteringsmanusgeneratorn.

Förutom detta, kommer också stöd för alternativet Clang compiler för Windows som är byggt med ABI MSVC men som använder GNU-stil kommandoradsalternativ.

Utvecklarna betonar att variablerna CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY läggs till för att välja runtime-bibliotek som används av kompilatorer ABI MSVC (MS VisualStudio).

För kompilatorer som MSVCVid CMAKE__FLAGSSom standard stoppas listan över varningskontrollflaggor som "/ W3".

Av de andra förbättringarna som framhävs i tillkännagivandet av lanseringen av denna nya version hittar vi följande:

  • Lade till det genererande uttrycket 'COMPILE_LANG_AND_ID: »Att definiera kompilatoralternativ för målfiler som använder variabler CMAKE__COMPILER_ID y LANGUAGE för varje kodfil
  • Generatoruttryck C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID lägg till stöd för att matcha ett värde till en lista, kommaseparerade objekt
  • Variabeln lades till CMAKE_FIND_PACKAGE_PREFER_CONFIG, där samtalet till find_package () söker efter paketkonfigurationsfilen först, även om sökmodulen är tillgänglig
  • För gränssnittsbibliotek har stöd lagts till för att ställa in egenskaper PUBLIC_HEADER y PRIVATE_HEADER, vars rubriker kan konfigureras med installationskommandot (TARGETS) som skickar argumenten PUBLIC_HEADER y PRIVATE_HEADER
  • Variabeln lades till CMAKE_VS_JUST_MY_CODE_DEBUGGING och destinationsfastigheten VS_JUST_MY_CODE_DEBUGGING för att aktivera "Just My Code" -läget i Visual Studio-felsökare vid kompilering med MSVC cl 19.05 och nyare versioner.
  • FindBoost-modulen har omarbetats, som nu arbetar mer fullständigt i konfigurations- och modullägen med närvaro av andra sökmoduler
  • Stöd för typerna NOTICE, VERBOSE, DEBUG och TRACE har lagts till i kommandot message ()
  • Kommandot "export (PACKAGE)" gör nu ingenting förrän det uttryckligen aktiveras via variabeln CMAKE_EXPORT_PACKAGE_REGISTRY.

Om du vill veta mer om det kan du konsultera följande länk.


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

Bli först att kommentera

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.