Izšla je nova posodobitev generatorja skriptov CMake 3.15

cmake

Pred nekaj dnevi Izdan je odprtokodni generator skriptov CMake 3.15 ki deluje kot alternativa Autotools in se uporablja v projektih, kot so KDE, LLVM / Clang, MySQL, MariaDB, ReactOS in Blender.

CMake je orodje za generiranje ali avtomatizacijo večplatformnih kod. Ime je okrajšava za "cross platform make" (make cross platform, razen uporabe "make" v imenu, CMake je ločena zbirka in višja raven od običajnega sistema make Unixa, podoben samodejnim orodjem.

O CMakeu

CMake je znan po zagotavljanju preprostega skriptnega jezika, orodja za razširitev funkcionalnosti na module, minimalno število odvisnosti (brez vezave na M4, Perl ali Python), podpora za predpomnjenje, razpoložljivost orodij za navzkrižno prevajanje, podpora za ustvarjanje zbirnih datotek za široko paleto sistemov prevajalnikov in prevajalnikov.

Pripomočki ctest in cpack za definiranje testnih scenarijev in ustvarjanje paketov s pripomočkom cmake-gui za interaktivno konfiguriranje parametrov gradnje.

CMake se uporablja za nadzor nad postopkom prevajanja programske opreme z uporabo preprostih in neodvisnih konfiguracijskih datotek platforme. Cmake generira izvorne datoteke in delovne prostore, ki jih je mogoče uporabiti v želenem razvojnem okolju.

Primerljiv je s sistemom gradnje Unix GNU, saj postopek nadzirajo konfiguracijske datoteke, v primeru CMake, imenovane CMakeLists.txt.

Za razliko od sistema za izdelavo GNU, ki je omejena na platforme Unix, CMake podpira ustvarjanje datotek za različne operacijske sisteme, kar olajša vzdrževanje in odpravlja potrebo po več naborih datotek za vsako platformo.

Postopek gradnje nadzira ustvarjanje ene ali več datotek CMakeLists.txt v vsakem imeniku (vključno s podimeniki).

Koda CMake je napisana v jeziku C ++ in se distribuira pod licenco BSD.

Glavne novosti CMake 3.15

Ta nova različica poudaril prihod prve podpore generatorja za jezik Swift , ki ga je razvil Apple, je bil dodan generatorju skriptov sklopa Ninja Toolkit.

Poleg tega, prihaja tudi podpora za možnost prevajalnika Clang za Windows, ki je zgrajen z ABI MSVC, vendar uporablja možnosti ukazne vrstice v slogu GNU.

Razvijalci poudarjajo, da spremenljivke CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY so dodane za izbiro izvajalnih knjižnic, ki jih uporabljajo prevajalniki ABI MSVC (MS VisualStudio).

Za prevajalnike, kot je MSVCv CMAKE__FLAGSPrivzeto je ustavljen seznam opozorilnih kontrolnih zastavic, kot je "/ W3".

Med ostalimi izboljšavami, ki so poudarjene v napovedi o izdaji te nove različice, najdemo naslednje:

  • Dodan je generirajoči izraz 'COMPILE_LANG_AND_ID: »Določiti možnosti prevajalnika za ciljne datoteke, ki uporabljajo spremenljivke CMAKE__COMPILER_ID y LANGUAGE za vsako kodno datoteko
  • Izrazi generatorja C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID dodajte podporo za ujemanje vrednosti na seznam, elemente ločene z vejico
  • Spremenljivka je bila dodana CMAKE_FIND_PACKAGE_PREFER_CONFIG, v katerem bo klic find_package () najprej poiskal konfiguracijsko datoteko paketa, tudi če je iskalni modul na voljo
  • Za vmesniške knjižnice je bila dodana podpora za nastavitev lastnosti PUBLIC_HEADER y PRIVATE_HEADER, katere glave lahko konfigurirate z ukazom za namestitev (CILJI), ki posreduje argumente PUBLIC_HEADER y PRIVATE_HEADER
  • Spremenljivka je bila dodana CMAKE_VS_JUST_MY_CODE_DEBUGGING in ciljno lastnino VS_JUST_MY_CODE_DEBUGGING za omogočanje načina »Samo moja koda« v razhroščevalniku Visual Studio pri prevajanju z MSVC cl 19.05 in novejšimi različicami.
  • Predelan je bil modul FindBoost, ki je zdaj v popolni obdelavi v konfiguraciji in modulih modula ob prisotnosti drugih iskalnih modulov
  • Podpora za vrste NOTICE, VERBOSE, DEBUG in TRACE je bila dodana ukazu message ()
  • Ukaz "izvoz (PAKET)" zdaj ne naredi ničesar, dokler ni izrecno omogočen prek spremenljivke CMAKE_EXPORT_PACKAGE_REGISTRY.

Če želite izvedeti več o tem, se lahko posvetujete naslednjo povezavo.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.