ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ Π΅ ΡΠ΅Π»ΠΈΠ· Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ±ΠΎΡΠΊΠ° Meson 1.12.0, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΊΠ°ΡΠΎ X.Org Server, Mesa, QEMU, Lighttpd, systemd, GStreamer, Wayland, GNOME ΠΈ GTK. ΠΠΎΠ΄ΡΡ Π½Π° Meson Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python ΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Apache 2.0.
ΠΡΠ½ΠΎΠ²Π½Π° ΡΠ΅Π» Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Meson Π΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π±ΡΡΠ·ΠΈΠ½Π° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, ΡΡΡΠ΅ΡΠ°Π½Π° Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎΡΠ° Π² ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° make, ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Ninja, Π½ΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΠΈ Π΄ΡΡΠ³ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ΠΈ, ΠΊΠ°ΡΠΎ Xcode ΠΈ Visual Studio. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π²Π³ΡΠ°ΠΆΠ΄Π° ΠΌΡΠ»ΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Meson Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ. ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ Π½Π° ΠΎΠΏΡΠΎΡΡΠ΅Π½ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ Π΅Π·ΠΈΠΊ, ΠΊΠΎΠΉΡΠΎ Π΅ Ρ Π΄ΠΎΠ±ΡΠ° ΡΠ΅ΡΠΈΠΌΠΎΡΡ ΠΈ Π΅ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ (ΠΏΠΎ Π·Π°ΠΌΠΈΡΡΠ» Π½Π° Π°Π²ΡΠΎΡΠΈΡΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠ΄Π΅Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ°).
ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΊΡΠΎΡ-ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π² Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ΠΈ Windows Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° GCC, Clang, Visual Studio ΠΈ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ. ΠΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ C, C++, Fortran, Java, D ΠΈ Rust. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠ°ΠΌΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅. Meson ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² Meson 1.12:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»Π° CACHEDIR.TAG, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΡΠ±ΠΎΡΠ½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ°ΡΠ°, ΠΎΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈΡΠ΅ ΠΊΠΎΠΏΠΈΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΠ±ΠΎΡΠ½Π° ΡΠ΅Π» clippy-json, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π»ΠΈΠ½ΡΠ΅ΡΠ° Clippy ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π² Rust-analyzer Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ JSON.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΎΠ±Π΅ΠΊΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ default(), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈ Π·Π° Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Π΄ΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
- ΠΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° generator.process() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ 'depends' Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π΄ΡΡΠ³ΠΈ ΡΠ±ΠΎΡΠ½ΠΈ ΡΠ΅Π»ΠΈ.
- ΠΡΠΌ ΠΎΠ±Π΅ΠΊΡΠ° 'include_directories' Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ to_list() Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΏΠΈΡΡΠΊ Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΈ ΠΏΡΡΠΈΡΠ° Π½Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ Π² ΡΠ΅Π»ΠΈ ΡΠΈΡΠ»Π° ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ β str.to_int() ΠΈ int.to_string().
- ΠΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° 'meson format' Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ 'βsubprojects', ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π·Π°Π΅Π΄Π½ΠΎ Ρ 'βrecursive' Π·Π° ΠΎΠ±Ρ Π²Π°ΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΏΡΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ OpenHarmony ΠΈ HarmonyOS (OHOS), ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΊΠ°ΡΠΎ Android.
- ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ²ΠΎΠΈ ΡΠ±ΠΎΡΠ½ΠΈ ΡΠ΅Π»ΠΈ ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π² ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ 'input' ΠΈ 'depends'.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π·Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ° Π½Π° ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΈ ΡΠ΅Π»Π΅Π²Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΡΠ΅Π· ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π² subproject() ΠΈ meson.override_find_program() Π½Π° ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ 'native'.
- ΠΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° 'meson test' Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ 'βexclude' Π·Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Python 3.7, 3.8 ΠΈ 3.9 Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
