Ehitussüsteemide CMake 3.21 ja Meson 0.59 väljalase

Esitletakse platvormideülese avatud ehitamise skriptigeneraatori CMake 3.21 väljalaset, mis toimib alternatiivina Autotoolsile ja mida kasutatakse sellistes projektides nagu KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ja Blender. CMake'i kood on kirjutatud C++ keeles ja seda levitatakse BSD litsentsi all.

CMake on tähelepanuväärne lihtsa skriptikeele pakkumise, funktsionaalsuse laiendamise vahendi moodulite kaudu, minimaalse arvu sõltuvuste (ei seostu M4, Perli või Pythoniga), vahemällu salvestamise toe, ristkompileerimise tööriistade olemasolu, ehituse genereerimise toe. failid paljude ehitussüsteemide ja kompilaatorite jaoks, olemasolu ctest ja cpack utiliidid testskriptide ja pakettide koostamiseks, cmake-gui utiliit ehitusparameetrite interaktiivseks seadistamiseks.

Peamised täiustused:

  • Lisati täielik tugi kaasaskantavuse jaoks mõeldud Heterogeense arvutiliidese (HIP) programmeerimiskeelele, C++ keele dialektile, mille eesmärk on hõlbustada CUDA rakenduste teisendamist kaasaskantavaks C++ koodiks.
  • Visual Studio 17 2022 jaoks on lisatud järguskriptide generaator, mis põhineb Visual Studio 2022 eelvaatel 1.1.
  • Makefile ja Ninja ehitusskripti generaatorid on lisanud atribuudid C_LINKER_LAUNCHER ja CXX_LINKER_LAUNCHER, mida saab kasutada linkerit käivitavate abiutiliitide (nt staatilised analüsaatorid) käivitamiseks. Generaator käivitab määratud utiliidid, edastades neile linkeri nime ja selle argumendid.
  • Atribuutides “C_STANDARD” ja “OBJC_STANDARD”, samuti kompilaatori parameetrite seadistamise tööriistades (Compile Features) on lisatud spetsifikatsioonide C17 ja C23 tugi.
  • Cmake utiliidile on lisatud valik “—tööriistakett”. > tööriistakomplekti tee määramiseks.
  • Terminalis kuvatavate teadete tüübid on esile tõstetud.
  • Lisatud on Fujitsu kompilaatori tugi.
  • Käsk "foreach()" tagab, et tsüklimuutujad on tsükli sees isoleeritud.

Lisaks võime märkida Meson 0.59 ehitussüsteemi väljalaskmist, mida kasutatakse selliste projektide ehitamiseks nagu X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ja GTK. Mesoni kood on kirjutatud Pythonis ja litsentsitud Apache 2.0 litsentsi alusel. Toetab ristkompileerimist ja ehitamist Linuxis, Illumos/Solarises, FreeBSD-s, NetBSD-s, DragonFly BSD-s, Haiku-s, macOS-is ja Windowsis, kasutades GCC, Clangi, Visual Studio ja muid kompilaatoreid. Võimalik on ehitada projekte erinevates programmeerimiskeeltes, sealhulgas C, C++, Fortran, Java ja Rust. Utiliidi make asemel kasutatakse ehitamisel vaikimisi Ninja tööriistakomplekti, kuid kasutada saab ka muid taustaprogramme, nagu xcode ja VisualStudio.

Süsteemil on sisseehitatud mitme platvormi sõltuvuse töötleja, mis võimaldab kasutada Mesonit distributsioonide pakettide koostamiseks. Koostereeglid on määratletud lihtsustatud domeenispetsiifilises keeles, on hästi loetavad ja kasutajale arusaadavad (nagu autorid on ette näinud, peaks arendaja kulutama reeglite kirjutamisele minimaalselt aega). Toetatud on järkjärguline ehitusrežiim, milles ehitatakse ümber ainult need komponendid, mis on otseselt seotud pärast viimast ehitamist tehtud muudatustega. Mesonit saab kasutada korratavate ehituste genereerimiseks, mille puhul ehitamist erinevates keskkondades käivitades genereeritakse täiesti identsed käivitatavad failid.

Meson 0.59 peamised uuendused:

  • Lisatud on Cythoni keele tugi (Pythoni täiustatud versioon, mille eesmärk on lihtsustada C-koodiga integreerimist).
  • Lisatud märksõnad "unescaped_variables" ja "unnescaped_uninstalled_variables", et määratleda muutujad rakenduses pkgconfig ilma tühikute vahelejätmiseta märgiga "\".
  • Lisatud tugi wrc-le (Wine Resource Compiler).
  • Rakendatud on võimalus genereerida projekte Visual Studio 2012 ja Visual Studio 2013 jaoks.
  • Kõik alamprojektiga seotud käsud käitavad nüüd vaikimisi iga alamprojekti paralleelselt. Paralleelsete protsesside arv määratakse parameetriga "--num-processes".

Allikas: opennet.ru

Lisa kommentaar