CMake 3.17.0 leveres med en ny Ninja-scriptgenerator, forbedringer og mere

Lanceringen af den nye version af open source scriptgeneratoren på tværs af platforme CMake 3.17, hvori udviklere har arbejdet for at tilføje et nyt scriptgenerator kaldet "Ninja Multi-Config", forbedringer af Visual Studio-scriptgeneratoren, generelle optimeringer og mere.

For dem der ikke ved det CMake, de burde vide det er et genererings- eller automatiseringsværktøj til multiplatform som fungerer som et alternativ til Autotools og bruges i projekter som KDE, LLVM / Clang, MySQL, MariaDB, ReactOS og Blender.

CMake er bemærkelsesværdig for at levere et simpelt script-sprog, betyder at udvide funktionalitet på tværs af moduler, minimalt antal afhængigheder (ingen binding til M4, Perl eller Python), understøttelse af cache, tilstedeværelse af værktøjer til krydskompilering, support til generering af buildfiler til en bred vifte af build-systemer og compilers, tilstedeværelsen af ​​ctest og cpack-hjælpeprogrammer til at definere test- og build-scripts, cmake-gui-værktøj til interaktiv konfiguration af build-parametre.

Dette værktøj bruges til at kontrollere kompileringsprocessen for softwaren ved hjælp af enkle og platformuafhængige konfigurationsfiler. Genererer oprindelige makefiler og arbejdsområder, der kan bruges i det ønskede udviklingsmiljø.

Det kan sammenlignes med GNU-byggesystemet Unix ved, at processen styres af konfigurationsfiler, i tilfælde af CMake kaldet CMakeLists.txt.

Nyheder i CMake 3.17.0

Som nævnt i starten er en af ​​de vigtigste nyheder, der skiller sig ud i denne nye version af CMake 3.17.0 tilføje en ny build script generator baseret på Ninja-værktøjer, der har navnet «Ninja Multi-Config«, Som adskiller sig fra den forrige generator, fordi denne nye generator giver mulighed for at behandle flere build-konfigurationer på samme tid.

For sin del, i build-scriptgeneratoren For Visual Studio kan du nu definere kildefiler, der er knyttet til hver indstilling.

Evnen til at indstille metaparametre til CUDA ("Cuda_std_03", "cuda_std_14" osv.) er blevet føjet til værktøjer for at konfigurere kompileringsfunktioner (kompileringsfunktioner).

Derudover nævner annoncen det variabler blev tilføjet «CMAKE_CUDA_RUNTIME_LIBRARY»Y«CUDA_RUNTIME_LIBRARY»At vælge typen af ​​runtime-biblioteker, når du bruger CUDA og også« FindCUDAToolkit »-modulet til at bestemme de CUDA-værktøjer, der er tilgængelige på systemet uden at inkludere CUDA-sproget.

I CMake 3.17.0 kommandoen «–Fejlfind»Er tilføjet for at få vist yderligere læsbar diagnostik, når du søger. Til lignende formål er variablen CMAKE_FIND_DEBUG_MODE.

Tilføjet støtte til at finde CURL-værktøjer i «FindCURL» -modulet ved hjælp af "CURLConfig.cmake" konfigurationsfiler genereret af cmake. For at deaktivere denne adfærd leveres variablen CURL_NO_CURL_CMAKE.

Modulet FindPython tilføjer muligheden for at søge efter Python-komponenter i virtuelle miljøer styret af «Conda".

Tilføjet muligheden «–Ingen test = [fejl | ignorere]»Til ctest-værktøjet til bestemme adfærd i mangel af beviser og "– gentag" for at specificere betingelserne for at genstarte testene (indtil den er bestået efter timeout).

Af de andre ændringer, der er nævnt i meddelelsen:

  • Byg målegenskaber INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS de blev sendt mellem de interne afhængigheder i de statisk samlede biblioteker.
  • Når du bruger MinGW-værktøjssættet, søgning efter DLL-filer ved hjælp af kommandoen find_bibliotek det er deaktiveret som standard (der forsøges at importere ".dll.a" -bibliotekerne som standard i stedet).
  • Logikken med at vælge ninja-værktøjet i Ninja-generatoren afhænger nu ikke af navnet på den eksekverbare fil - det første værktøj bruges ninja-build, ninja o Samu fundet, som findes i de stier, der er defineret gennem PATH-miljøvariablen.
  • Kommandoen "-E rm»Er blevet føjet til cmake-værktøjet, som kan bruges til at fjerne filer og mapper i stedet for de separate kommandoer«-E fjern»Y«-E remove_directory".

Endelig hvis du vil vide mere om det, kan du kontrollere meddelelsen om denne nye version i 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.