title: Release 0.41 short-description: Release notes for 0.41 ...
Native support for linking against LLVM using the dependency function.
The fallback keyword in vcs_tag() is now optional. If not given, its value defaults to the return value of meson.project_version().
The ninja backend now quotes special characters that may be interpreted by ninja itself, providing better interoperability with custom commands. This support may not be perfect; please report any issues found with special characters to the issue tracker.
The Pkgconfig module object can add arbitrary variables to the generated .pc file with the new variables keyword:
pkg.generate(libraries : libs, subdirs : h, version : '1.0', name : 'libsimple', filebase : 'simple', description : 'A simple demo library.', variables : ['datadir=${prefix}/data'])
Creating distribution tarballs is simple:
ninja dist
This will create a .tar.xz archive of the source code including submodules without any revision control information. This command also verifies that the resulting archive can be built, tested and installed. This is roughly equivalent to the distcheck target in other build systems. Currently this only works for projects using Git and only with the Ninja backend.
Targets for building rust now take a rust_args keyword.
Code coverage can be generated for tests by passing the --cov argument to the run_tests.py test runner. Note, since multiple processes are used, coverage must be combined before producing a report (coverage3 combine).
All known issues have been fixed and Meson can now build reproducible Debian packages out of the box.
The output argument of configure_file() is parsed for @BASENAME@ and @PLAINNAME@ substitutions.
The new needs_exe_wrapper property allows overriding auto-detection for cases where build_machine appears to be compatible with host_machine, but actually isn't. For example when:
build_machine is macOS and host_machine is the iOS Simulatorbuild_machine's libc is glibc but the host_machine libc is uClibcbuild_machineconfigure_file() now supports a new keyword - capture. When this argument is set to true, Meson captures stdout of the command and writes it to the target file specified as output.