CMake 3.17.0 dolazi s novim generatorom Ninja skripti, poboljšanjima i više

Pokretanje nova verzija generatora skripti otvorenog koda za više platformi CMake 3.17, u kojem programeri su radili za dodavanje novog generator skripti pod nazivom "Ninja Multi-Config", poboljšanja generatora skripti Visual Studio, opće optimizacije i još mnogo toga.

Za one koji ne znaju CMake, to bi trebali znati je multiplatformni alat za generiranje ili automatizaciju koda koji djeluje kao alternativa Autotoolsu i koristi se u projektima poput KDE, LLVM / Clang, MySQL, MariaDB, ReactOS i Blender.

CMake je poznat po pružanju jednostavnog skriptnog jezika, znači proširiti funkcionalnost na module, minimalan broj ovisnosti (bez vezivanja za M4, Perl ili Python), podrška za predmemoriranje, prisutnost alata za unakrsnu kompilaciju, podrška za generiranje datoteka gradnje za širok raspon sustava gradnje i kompajlera, prisutnost uslužnih programa ctest i cpack za definiranje skripti za testiranje i izgradnju, uslužni program cmake-gui za interaktivno konfiguriranje parametara gradnje.

Ovaj uslužni program koristi se za kontrolu postupka kompilacije softvera koristeći jednostavne i o platformi neovisne konfiguracijske datoteke. Generira izvorne make datoteke i radne prostore koji se mogu koristiti u željenom razvojnom okruženju.

Usporedljiv je s GNU sustavom gradnje Unixa u kojem proces kontroliraju konfiguracijske datoteke, u slučaju CMake zvanog CMakeLists.txt.

Što je novo u CMake 3.17.0

Kao što je spomenuto na početku, jedna od glavnih novina koja se ističe u ovoj novoj verziji CMake 3.17.0 je dodavanje novog generatora skripte za izgradnju zasnovan na Ninja alatima, koji ima naziv «Ninja Multi Config«, Što se razlikuje od prethodnog generatora jer ovaj novi generator pruža mogućnost obrade više konfiguracija gradnje istodobno.

U međuvremenu, u generatoru skripte gradnje Za Visual Studio sada možete definirati izvorne datoteke priložene uz svaku postavku.

Mogućnost postavljanja metaparametara za CUDA ("Cuda_std_03", "cuda_std_14" itd.) je dodan u alate za konfiguriranje funkcija kompajlera (funkcije kompilacije).

Uz to, oglas to spominje dodane su varijable «CMAKE_CUDA_RUNTIME_LIBRARY»Y«CUDA_RUNTIME_LIBRARY»Za odabir vrste runtime knjižnica kada se koristi CUDA, a također i modul« FindCUDAToolkit »za određivanje CUDA alata dostupnih u sustavu, bez uključivanja jezika CUDA.

U CMake 3.17.0 naredba «–Debug-pronađi»Dodano je za prikaz dodatne čitljive dijagnostike prilikom pretraživanja. Za slične svrhe varijabla CMAKE_FIND_DEBUG_MODE.

Dodano podrška za pronalaženje CURL alata u modulu «FindCURL» pomoću konfiguracijskih datoteka "CURLConfig.cmake" koje generira cmake. Da bi se onemogućilo ovo ponašanje, pruža se varijabla CURL_NO_CURL_CMAKE.

Modul FindPython dodaje mogućnost pretraživanja Python komponenti u virtualnim okruženjima pod nadzorom «konda”.

Dodano opciju «–Ne-testovi = [pogreška | zanemariti]»Uslužnom programu ctest za utvrditi ponašanje u nedostatku dokaza i "–repeat" za određivanje uvjeta za ponovno pokretanje testova (dok ne prođe, nakon isteka vremena).

Od ostalih promjena koje se spominju u najavi:

  • Izgradite ciljana svojstva INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS prenijeli su se između unutarnjih ovisnosti statički okupljenih knjižnica.
  • Kada koristite MinGW alatni alat, potražite DLL datoteke pomoću naredbe pronađi_knjižnicu prema zadanim je postavkama onemogućen (umjesto toga se pokušava prema zadanim postavkama uvesti knjižnice ".dll.a").
  • Logika odabira ninja uslužnog programa u Ninja generatoru sada ne ovisi o imenu izvršne datoteke - koristi se prvi uslužni program ninja-graditi, ninja o Samu pronađena, koja se nalazi na stazama definiranim kroz varijablu okruženja PATH.
  • Naredba "-Erm»Dodan je uslužnom programu cmake koji se može koristiti za uklanjanje datoteka i direktorija umjesto zasebnih naredbi«-E ukloni»Y«-E Ukloni_direktorij”.

Konačno ako želite znati više o tome, najavu ove nove verzije možete provjeriti u sljedeći link.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.