CMake 3.17.0 kommer med en ny Ninja-skriptgenerator, forbedringer og mer

Lanseringen av den nye versjonen av plattformen med åpen kildekode-skriptgenerator CMake 3.17, der utviklere har jobbet for å legge til en ny skriptgenerator kalt "Ninja Multi-Config", forbedringer av Visual Studio-skriptgeneratoren, generelle optimaliseringer og mer.

For de som ikke vet CUtfør, de burde vite det er et genererings- eller automatiseringsverktøy for flere plattformer som fungerer som et alternativ til Autotools og brukes i prosjekter som KDE, LLVM / Clang, MySQL, MariaDB, ReactOS og Blender.

CUtfør er kjent for å tilby et enkelt skriptspråk, betyr å utvide funksjonaliteten på tvers av moduler, minimalt antall avhengigheter (ingen binding til M4, Perl eller Python), støtte for caching, tilstedeværelse av verktøy for tverrkompilering, støtte for å generere build-filer for et bredt spekter av build-systemer og kompilatorer, tilstedeværelsen av ctest og cpack Utilities for å definere test- og build-skript, cmake-gui-verktøy for interaktivt å konfigurere build-parametere.

Dette verktøyet brukes til å kontrollere kompileringsprosessen til programvaren ved hjelp av enkle og plattformuavhengige konfigurasjonsfiler. Genererer innfødte makefiler og arbeidsområder som kan brukes i ønsket utviklingsmiljø.

Det er sammenlignbart med GNU-byggesystemet Unix ved at prosessen styres av konfigurasjonsfiler, i tilfelle CMake kalt CMakeLists.txt.

Hva er nytt i CMake 3.17.0

Som nevnt i begynnelsen er en av de viktigste nyhetene som skiller seg ut i denne nye versjonen av CMake 3.17.0 legge til en ny build-skriptgenerator basert på Ninja-verktøy, som har navnet «Ninja Multi Config«, Som skiller seg fra forrige generator fordi denne nye generatoren gir muligheten til å behandle flere byggekonfigurasjoner samtidig.

Mellomtiden, i build-skriptgeneratoren For Visual Studio kan du nå definere kildefiler som er knyttet til hver innstilling.

Evnen til å angi metaparametre for CUDA ("Cuda_std_03", "cuda_std_14" osv.) er lagt til verktøy for å konfigurere kompilatorfunksjoner (kompileringsfunksjoner).

I tillegg til det nevner annonsen det variabler ble lagt til «CMAKE_CUDA_RUNTIME_LIBRARY»Y«CUDA_RUNTIME_LIBRARY»For å velge typen kjøretidsbiblioteker når du bruker CUDA og også« FindCUDAToolkit »-modulen for å bestemme CUDA-verktøyene som er tilgjengelige på systemet uten å inkludere CUDA-språket.

I CMake 3.17.0 kommandoen «–Debug-find»Har blitt lagt til for å vise ytterligere lesbar diagnostikk når du søker. For lignende formål, variabelen CMAKE_FIND_DEBUG_MODE.

La til støtte for å finne CURL-verktøy i «FindCURL» -modulen ved hjelp av konfigurasjonsfilene "CURLConfig.cmake" generert av cmake. For å deaktivere denne oppførselen er variabelen CURL_NO_CURL_CMAKE gitt.

Modulen FindPython legger til muligheten til å søke etter Python-komponenter i virtuelle miljøer kontrollert av «leilighet".

La til alternativet «–Ingen tester = [feil | overse]»Til ctest-verktøyet til bestemme atferd i fravær av bevis og "–repeat" for å spesifisere vilkårene for å starte testene på nytt (til de går, etter tidsavbrudd).

Av de andre endringene som er nevnt i kunngjøringen:

  • Bygg målegenskaper INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS de ble overført mellom de interne avhengighetene til de statisk sammensatte bibliotekene.
  • Når du bruker MinGW-verktøysettet, søker du etter DLL-filer ved hjelp av kommandoen finn_bibliotek det er deaktivert som standard (det blir forsøkt å importere ".dll.a" -bibliotekene som standard i stedet).
  • Logikken med å velge ninja-verktøyet i Ninja-generatoren avhenger nå ikke av navnet på den kjørbare filen - det første verktøyet brukes ninja-bygge, ninja o Samu funnet, som finnes i banene som er definert gjennom PATH-miljøvariabelen.
  • Kommandoen "-Ehm»Har blitt lagt til i cmake-verktøyet, som kan brukes til å fjerne filer og kataloger i stedet for de separate kommandoene«-E fjerne»Y«-E remove_directory".

Endelig hvis du vil vite mer om det, kan du sjekke kunngjøringen av denne nye versjonen i følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.