Lage sistèm bati CMake 3.21 ak Meson 0.59

Prezante se liberasyon an nan kwa-platfòm louvri script dèlko CMake 3.21, ki aji kòm yon altènativ a Autotools epi yo itilize nan pwojè tankou KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ak Blender. Kòd CMake ekri an C++ epi distribye anba lisans BSD.

CMake se remakab pou bay yon langaj scripting senp, yon mwayen pou pwolonje fonksyonalite atravè modil, yon kantite minimòm depandans (pa gen obligasyon pou M4, Perl oswa Python), sipò kachèt, prezans zouti pou konpilasyon kwa, sipò pou jenere bati. fichye pou yon pakèt sistèm bati ak konpilatè, prezans ctest ak sèvis piblik cpack pou defini scripts tès ak pakè bati, sèvis piblik cmake-gui pou fikse paramèt bati yon fason entèaktif.

Gwo amelyorasyon:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° полноцСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° языка программирования HIP (Heterogeneous-Computing Interface for Portability), Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π° языка C++, Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ прСобразования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ CUDA Π² пСрСносимый ΠΊΠΎΠ΄ C++.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ сборочных сцСнариСв для Visual Studio 17 2022, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡ Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ выпускС Visual Studio 2022 Preview 1.1.
  • Π’ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… сборочных сцСнариСв Makefile ΠΈ Ninja Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ свойства C_LINKER_LAUNCHER ΠΈ CXX_LINKER_LAUNCHER, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ запуск Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΡ… запуск ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ°, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ статичСскиС Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ запустит ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΈ Π΅Π³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹.
  • Π’ свойствах Β«C_STANDARDΒ» ΠΈ Β«OBJC_STANDARDΒ», Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² срСдствах для настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² компилятора (Compile Features), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° спСцификаций C17 ΠΈ C23.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ cmake Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«β€”toolchain <path/to/file>> для опрСдСлСния ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° подсвСтка Ρ‚ΠΈΠΏΠΎΠ² сообщСний, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° компилятора Fujitsu.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«foreach()Β» обСспСчСна изоляция ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ выпуск сборочной систСмы Meson 0.59, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сборки Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠ°ΠΊ X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ΠΈ GTK. Код Meson написан Π½Π° языкС Python ΠΈ поставляСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ кросс-компиляция ΠΈ сборка Π² Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ΠΈ Windows с использованиСм GCC, Clang, Visual Studio ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… компиляторов. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° сборка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ C, C++, Fortran, Java ΠΈ Rust. ВмСсто ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ make ΠΏΡ€ΠΈ сборкС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ примСняСтся инструмСнтарий Ninja, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… бэкСндов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ xcode ΠΈ VisualStudio.

Π’ систСму встроСн ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ зависимостСй, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Meson для сборки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для дистрибутивов. ΠŸΡ€Π°Π²ΠΈΠ»Π° сборки Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π½Π° ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ языкС, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒΡŽ ΠΈ понятны ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ (ΠΏΠΎ Π·Π°Π΄ΡƒΠΌΠΊΠ΅ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° написаниС ΠΏΡ€Π°Π²ΠΈΠ»). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ сборки, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ связанныС с измСнСниями, внСсёнными с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ сборки. Meson ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для формирования повторяСмых сборок, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… запуск сборки Π² Ρ€Π°Π·Π½Ρ‹Ρ… окруТСниях ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Ρ… исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ².

Prensipal inovasyon nan Meson 0.59:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° языка Cython (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Python, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° языкС Π‘ΠΈ).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Β«unescaped_variablesΒ» ΠΈ Β«unescaped_uninstalled_variablesΒ» для опрСдСлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² pkgconfig Π±Π΅Π· экранирования ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² символом Β«\Β».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° wrc (Wine Resource Compiler).
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² для Visual Studio 2012 ΠΈ Visual Studio 2013.
  • ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, связанныС с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ субпроСктов, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ субпроСкт ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Число ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… процСссов опрСдСляСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Β«β€”num-processesΒ».

Sous: opennet.ru

Add nouvo kòmantè