Utgivningen av den plattformsoberoende öppna byggskriftgeneratorn CMake 3.21 har presenterats, som fungerar som ett alternativ till Autotools och anvÀnds i projekt som KDE, LLVM/Clang, MySQL, MariaDB, ReactOS och Blender. CMake-koden Àr skriven i C++ och distribueras under BSD-licensen.
CMake Àr kÀnt för att erbjuda ett enkelt skriptsprÄk, möjligheter att utöka funktionaliteten genom moduler, ett minimalt antal beroenden (ingen bindning till M4, Perl eller Python), stöd för caching, verktyg för korskompilering, samt stöd för generering av byggfiler för ett brett spektrum av byggsystem och kompilatorer, inklusive ctest och cpack-verktyg för att definiera test- och paketbyggnads-skript, plus cmake-gui-vertyget för interaktiv konfiguration av byggparametrarna.
Huvudsakliga förbÀttringar:
- FullstÀndig support för programmeringssprÄket HIP (Heterogeneous-Computing Interface for Portability), en dialekt av C++, har lagts till för att förenkla konverteringen av CUDA-applikationer till portabel C++-kod.
- En byggegagerator för Visual Studio 17 2022 har lagts till, som Àr baserad pÄ den preliminÀra utgÄvan av Visual Studio 2022 Preview 1.1.
- I Makefile- och Ninja-bygggeneratorerna har egenskaperna C_LINKER_LAUNCHER och CXX_LINKER_LAUNCHER lagts till, vilket gör det möjligt att köra hjÀlpverktyg som startar lÀnken, sÄsom statiska analysverktyg. Generatorn kommer att köra de angivna verktygen med lÀnkarens namn och dess argument.
- Stödet för specifikationerna C17 och C23 har lagts till i egenskaperna 'C_STANDARD' och 'OBJC_STANDARD', samt i verktygen för att konfigurera kompilatorinstÀllningarna (Compile Features).
- I cmake-verktyget har alternativet '--toolchain ' lagts till för att definiera sökvÀgen till verktygskedjan.
- Typavlysning av meddelanden som skrivs ut till terminalen har sÀkerstÀllts.
- Stöd för Fujitsu-kompilatorn har lagts till.
- I kommandot 'foreach()' har variablerna isolerats inuti lökken.
Ăven kan man notera utgivningen av byggsystemet Meson 0.59, som anvĂ€nds för att bygga projekt som X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME och GTK. Koden för Meson Ă€r skriven i Python och levereras under Apache 2.0-licensen. Krosskompilering och byggning i Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS och Windows med GCC, Clang, Visual Studio och andra kompilatorer stöds. Byggande av projekt pĂ„ olika programmeringssprĂ„k, inklusive C, C++, Fortran, Java och Rust, Ă€r möjligt. I stĂ€llet för verktyget make anvĂ€nds som standard Ninja-verktyget för byggning, men andra backend-system, sĂ„som xcode och VisualStudio, kan ocksĂ„ anvĂ€ndas.
Systemet har en inbyggd plattformsoberoende beroendehanterare som gör det möjligt att anvÀnda Meson för att bygga paket för distributioner. Byggreglerna anges pÄ ett förenklat domÀnspecifikt sprÄk, som Àr mycket lÀsbara och begripliga för anvÀndaren (enligt författarnas avsikt ska utvecklaren spendera minimal tid pÄ att skriva regler). Inkrementell bygglÀge stöds, dÀr endast de komponenter som direkt relaterar till Àndringarna som gjorts sedan den senaste bygget ombyggs. Meson kan anvÀndas för att skapa repetitiva byggningar, dÀr byggstart i olika miljöer genererar fullt identifierbara körbara filer.
Huvudnyheterna i Meson 0.59:
- Stöd för Cython-sprÄket (en utökad version av Python som syftar till att förenkla integrationen med C-kod) har lagts till.
- Nyckelordet "unescaped_variables" och "unescaped_uninstalled_variables" har lagts till för att definiera variabler i pkgconfig utan att rymden ska escapas med tecknet "\".
- Stöd för wrc (Wine Resource Compiler) har lagts till.
- Möjlighet att generera projekt för Visual Studio 2012 och Visual Studio 2013 har implementerats.
- Alla kommandon som Ă€r kopplade till behandling av delprojekt kör nu varje delprojekt parallellt som standard. Antalet parallella processer bestĂ€ms av parametern "ânum-processes".
KĂ€lla: opennet.ru
