ืคืืจืกืื ืืฉืืจืืจ ืฉื ืืขืจืืช ืืื ืืื Meson 1.1.0, ืืืฉืืฉืช ืืื ืืืช ืคืจืืืงืืื ืืืื X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ื-GTK. ืงืื Meson ืืชืื ื-Python ืืืื ืืืจืฉื ืชืืช ืจืืฉืืื Apache 2.0.
ืืืจืช ืืคืืชืื ืืขืืงืจืืช ืฉื Meson ืืื ืืกืคืง ืชืืืื ืืจืืื ืืืืืจืืช ืืืืื ืืฉืืืื ืขื ื ืืืืช ืืงืืืช ืฉืืืืฉ. ืืืงืื ืืขืฉืืช, ื-build ืืฉืชืืฉ ืืขืจืืช ืืืืื Ninja ืืืจืืจืช ืืืื, ืื ื ืืชื ืืืฉืชืืฉ ืื ื-backends ืืืจืื ืืืื xcode ื- VisualStudio. ืืืขืจืืช ืืฉ ืืืคื ืชืืืช ืจื-ืคืืืคืืจืืืช ืืืื ื ืืืืคืฉืจ ืื ืืืฉืชืืฉ ื-Meson ืืื ืืืช ืืืืืืช ืืืคืฆืืช. ืืืื ืืืจืืื ื ืงืืขืื ืืฉืคื ืคืฉืืื ืกืคืฆืืคืืช ืืชืืื, ืื ืงืจืืืื ืืืืื ืื ืืืื ืืืฉืชืืฉ (ืืคื ืจืขืืื ืืืืืจืื, ืขื ืืืคืชื ืืืฉืงืืข ืืื ืืืื ืืื ืืืชืืืช ืืืืื).
ืืืืืจ ืฆืืื ืืื ืืื ืขื ืืื ืืงืก, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ื-Windows ืืืืฆืขืืช GCC, Clang, Visual Studio ืืืืืจืื ืืืจืื. ื ืืชื ืืื ืืช ืคืจืืืงืืื ืืฉืคืืช ืชืื ืืช ืฉืื ืืช, ืืืื C, C++, Fortran, Java ื- Rust. ื ืชืื ืืืฆื ืื ืืื ืืฆืืืจ, ืฉืื ืจืง ืจืืืืื ืืงืฉืืจืื ืืฉืืจืืช ืืฉืื ืืืื ืฉืืืฆืขื ืืื ืืื ืืื ืืืืจืื ื ื ืื ืื ืืืืฉ. ื ืืชื ืืืฉืชืืฉ ื-Meson ืืืฆืืจืช ืจืืืื ืื ืืื ืฉื ืืชื ืื ืืืืจื, ืืืฉืจ ืืคืขืืช ื-build ืืกืืืืืช ืฉืื ืืช ืืืืื ืืงืืืฆื ืืคืขืื ืืืื ืืืืืืื.
ืืืืืืฉืื ืืขืืงืจืืื ืฉื Meson 1.1:
- ืืจืืืื ื ืืืฉ "objects:" ื ืืกืฃ ื-declare_dependency() ืืื ืืฆืจืฃ ืืืืืืงืืื ืืฉืืจืืช ืืงืืืฆื ืืคืขืื ืืฆืืจื ืฉื ืชืืืช ืคื ืืืืช ืฉืืื ื ืืืจืฉืช ืฉืืืืฉ ื-link_who.
- ืืคืงืืื "meson devenv -dump" ืืฉ ืืขืช ืืคืฉืจืืช ืืฆืืื ืงืืืฅ ืืืชืื ืืฉืชื ื ืกืืืื ืืืงืื ืืืืคืืก ืืืชื ืืคืื ืกืื ืืจืื.
- ื ืืกืคื ืฉืืืืช FeatureOption.enable_if ื-FeatureOption.disable_if ืืื ืืืงื ืขื ืืฆืืจืช ืชื ืืื ืืืื ื ืืืขืืจืช ืคืจืืืจืื ืืคืื ืงืฆืื dependency() . opt = get_option('feature').disable_if(not foo, error_message: 'ืื ื ืืชื ืืืคืขืื ืชืืื ื ืืืฉืจ foo ืื ืืืคืขืืช ืื') dep = dependency('foo', required : opt)
- ืืขืืจืช ืืืืืืงืืื ืฉื ืืฆืจื ืืืจืืืื ืืื ื"ืืืืืืงืืื:" ืืืชืจืช.
- ืคืื ืงืฆืืืช ืืคืจืืืงื ืชืืืืช ืืขืช ืืืชืงื ืช ืงืืฆืื ืขื ืืืืข ืขื ืจืืฉืืื ืืช ืืคืจืืืงื.
- ืืคืขืืช "ืืชืงื ืช sudo meson" ืืืืืื ืฉืืืจืฉืืืช ืืืืคืกืืช ืืืืื ืื ืืื ืืืืฉ ืขืืืจ ืคืืืคืืจืืืช ืืขื.
- ืืคืงืืื "ืืชืงื ืช meson" ืืกืคืงืช ืืช ืืืืืืช ืืฆืืื ืืืคื ื ืคืจื ืืืฉืืช ืืืืืืช ืฉืืจืฉ (ืืืืืื, ืืชื ืืืื ืืืืืจ polkit, sudo, opendoas ืื $MESON_ROOT_CMD). ืืคืขืืช "ืืชืงื ืช meson" ืืืฆื ืื ืืื ืืจืืงืืืื ืืืจ ืื ืื ืกื ืืืกืืื ืืจืฉืืืช.
- ื ืืกืคื ืชืืืื ืืืคืฉืจืืืืช ืงืจืืื ืืงืืืฅ meson.options ืืืงืื meson_options.txt.
- ืืคื ืืื ืืืืฉ ืฉื ืืืืข ืขื ืืชืงืืืืช ืืืชืืื ื ืืช ืืคื ืืืืช ื-stderr ืืกืืคืงืช.
- ื ืืกืฃ ืงืฆื ืืืืจื ืืืฉ "ืืื" (--backend=none) ืืื ืืืฆืืจ ืคืจืืืงืืื ืฉืืฉ ืืื ืจืง ืืืื ืืชืงื ื ืืืื ืืืงื ืื ืืื.
- ืืืกืคืช ืชืืืช ืืืฉื pybind11, ืืืืคืฉืจืช ื-dependency('pybind11') ืืขืืื ืขื pkg-config ื-cmake ืืืื ืืืฉืชืืฉ ืืกืงืจืืคื pybind11-config.
- ืืืคืฉืจืืืืช "--reconfigure" ื-"--wipe" ืืืชืจืืช ( meson setup --reconfigure builddir ื- meson setup --wipe builddir ) ืขื builddir ืจืืง.
- ืืืกืคืช ืชืืืื ืขืืืจ ืืืืช ืืืคืชื dry_run ื-meson.add_install_script() ืืื ืืืคืฉืจ ืืคืขืืช ืกืงืจืืคืืื ืฉื ืืชืงื ื ืืฉืื ืืขืช ืงืจืืืช "meson install --dry-run".
ืืงืืจ: OpenNet.ru