Den nya CMake 3.15-skriptgeneratoruppdateringen har släppts

cmmake

Några dagar sedan CMake 3.15 plattformsoberoende skriptgenerator för öppen källkod tillkännagavs som fungerar som ett alternativ till Autotools och används i projekt som KDE, LLVM/Clang, MySQL, MariaDB, ReactOS och Blender.

CMake är ett plattformsoberoende kodgenererings- eller automatiseringsverktyg. Namnet är en förkortning för "cross platform make", oavsett användningen av "make" i namnet., CMake är en separat svit på högre nivå än det vanliga tillverkarsystemet Unix, som liknar autotools.

Om CMake

CMake är känd för att tillhandahålla ett enkelt skriptspråk, verktyg för att utöka funktionaliteten över moduler, minimalt antal beroenden (ingen bindning till M4, Perl eller Python), cachingstöd, tillgänglighet av verktyg för korskompilering, stöd för att generera assemblyfiler för ett brett spektrum av byggsystem och kompilatorer.

Verktygen ctest och cpack för att definiera testscenarier och bygga paket, med verktyget cmake-gui för interaktiv konfigurering av byggparametrar.

CMake används för att styra programvarans byggprocess med enkla, fristående konfigurationsfiler. från plattformen. Cmake genererar inbyggda makefiler och arbetsytor som kan användas i den önskade utvecklingsmiljön.

Det är jämförbart med GNU-byggsystemet för Unix genom att byggprocessen styrs av konfigurationsfiler, i fallet med CMake som kallas CMakeLists.txt.

Till skillnad från GNU-byggsystemet, som är begränsad till Unix-plattformar, CMake stöder generering av filer för olika operativsystem, vilket gör underhållet enklare 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 framhävs av ankomsten av initialt generatorstöd för Swift-språket utvecklad av Apple har lagts till i Ninja Toolkit assembly script generator.

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

Utvecklarna påpekar att variabler 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 Visual Studio).

För kompilatorer som MSVCVid CMAKE__FLAGSSom standard stoppas listan med varningskontrollflaggor, såsom "/W3".

Av de andra förbättringarna som sticker ut i tillkännagivandet av releasen av denna nya version, hittar vi följande:

  • Lade till generatoruttryck "COMPILE_LANG_AND_ID:" för att definiera kompileringsalternativ för målfiler som använder variabler CMAKE__COMPILER_ID y LANGUAGE för varje kodfil
  • Generatoruttrycken 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, objekt separerade med kommatecken
  • Variabel tillagd CMAKE_FIND_PACKAGE_PREFER_CONFIG, där anropet till find_package() först kommer att leta efter paketets konfigurationsfil, även om sökmodulen är tillgänglig
  • För gränssnittsbibliotek har stöd för inställning av egenskaper lagts till PUBLIC_HEADER y PRIVATE_HEADER, vars rubriker kan ställas in genom att installationskommandot (TARGETS) skickar argumenten PUBLIC_HEADER y PRIVATE_HEADER
  • Variabel tillagd CMAKE_VS_JUST_MY_CODE_DEBUGGING och målegenskapen VS_JUST_MY_CODE_DEBUGGING för att aktivera "Just My Code"-läget i Visual Studio-felsökningen när du bygger med MSVC cl 19.05 och nyare versioner.
  • FindBoost-modulen har omarbetats, som nu bearbetas mer fullständigt i konfigurations- och modullägen med närvaro av andra sökmoduler
  • Stöd för NOTICE-, VERBOSE-, DEBUG- och TRACE-typerna har lagts till i kommandot message().
  • Kommandot "export(PACKAGE)" gör nu ingenting förrän det explicit har aktiverats via variabeln CMAKE_EXPORT_PACKAGE_REGISTRY.

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


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  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.