Den nye CMake 3.15 scriptgeneratoropdatering er frigivet

cmake

For nogle dage siden CMake 3.15 open source scriptgenerator på tværs af platforme frigivet som fungerer som et alternativ til Autotools og bruges i projekter som KDE, LLVM / Clang, MySQL, MariaDB, ReactOS og Blender.

CMake er et genererings- eller automatiseringsværktøj til multiplatform. Navnet er en forkortelse for "cross platform make" (lav cross platform, ud over brugen af ​​"make" i navnet, CMake er en separat pakke og højere niveau end det fælles mærkesystem af Unix, der ligner autotools.

Om CMake

CMake er bemærkelsesværdig for at levere et simpelt script-sprog værktøjer til at udvide funktionalitet på tværs af moduler, minimalt antal afhængigheder (ingen binding til M4, Perl eller Python), cachestøtte, tilgængeligheden af ​​værktøjer til krydskompilering, understøttelse af generering af samlingsfiler til en bred vifte kompilatorsystemer og kompilatorer.

Ctest- og cpack-hjælpeprogrammerne til at definere testscenarier og pakkeoprettelse med cmake-gui-værktøjet til interaktiv konfiguration af build-parametre.

CMake bruges til at kontrollere kompileringsprocessen af ​​softwaren ved hjælp af enkle og uafhængige konfigurationsfiler fra platformen. Cmake genererer native makefiles og arbejdsområder, der kan bruges i det ønskede udviklingsmiljø.

Det kan sammenlignes med Unix GNU build-systemet, idet processen styres af konfigurationsfiler, i tilfælde af CMake kaldet CMakeLists.txt.

I modsætning til GNU-byggesystemet, hvilket er begrænset til Unix-platforme, CMake understøtter generering af filer til forskellige operativsystemer, hvilket letter vedligeholdelse og eliminerer behovet for at have flere sæt filer til hver platform.

Bygningsprocessen styres ved at oprette en eller flere CMakeLists.txt-filer i hver bibliotek (inklusive underkataloger).

CMake-koden er skrevet i C ++ og distribueres under BSD-licensen.

CMake 3.15 Vigtigste nye funktioner

Denne nye version fremhævet med ankomsten af ​​den første generatorstøtte til Swift-sproget udviklet af Apple er blevet føjet til Ninja Toolkit-samlingsscriptgeneratoren.

Udover dette, kommer også understøttelse af Clang-kompilatorindstillingen til Windows, der er bygget med ABI MSVC, men bruger kommandolinjemulighederne i GNU-stil.

Udviklerne understreger, at variablerne CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY tilføjes for at vælge runtime-biblioteker, der bruges af kompilatorer ABI MSVC (MS Visual Studio).

For kompilatorer som MSVCi CMAKE__FLAGSSom standard stoppes listen over advarselskontrolflag som "/ W3".

Af de andre forbedringer, der fremhæves i meddelelsen om frigivelsen af ​​denne nye version, finder vi følgende:

  • Tilføjet det genererende udtryk 'COMPILE_LANG_AND_ID: »At definere kompilatorindstillinger for målfiler, der bruger variabler CMAKE__COMPILER_ID y LANGUAGE for hver kodefil
  • Generatorudtrykkene C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID tilføj support til at matche en værdi til en liste, kommaseparerede emner
  • Variablen blev tilføjet CMAKE_FIND_PACKAGE_PREFER_CONFIG, hvor opkaldet til find_package () først ser efter pakkekonfigurationsfilen, selvom søgemodulet er tilgængeligt
  • For interface-biblioteker er der tilføjet support til indstilling af egenskaber PUBLIC_HEADER y PRIVATE_HEADER, hvis overskrifter kan konfigureres ved hjælp af installationskommandoen (TARGETS), der sender argumenterne PUBLIC_HEADER y PRIVATE_HEADER
  • Variablen blev tilføjet CMAKE_VS_JUST_MY_CODE_DEBUGGING og destinationsegenskaben VS_JUST_MY_CODE_DEBUGGING for at aktivere "Just My Code" -tilstand i Visual Studio-fejlfindingsprogrammet ved kompilering ved hjælp af MSVC cl 19.05 og nyere versioner.
  • FindBoost-modulet er blevet omarbejdet, som nu arbejdes mere udførligt i konfigurations- og modultilstandene med tilstedeværelsen af ​​andre søgemoduler
  • Understøttelse af NOTICE-, VERBOSE-, DEBUG- og TRACE-typerne er blevet føjet til kommandoen message ()
  • Kommandoen "eksport (PAKKE)" gør nu intet, før den eksplicit er aktiveret via variablen CMAKE_EXPORT_PACKAGE_REGISTRY.

Hvis du vil vide mere om det, kan du konsultere følgende link.


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.