New features (in development)
Added Metrowerks C/C++ toolchains
Added support for the Metrowerks Embedded ARM and Metrowerks Embedded PowerPC toolchains (https://www.nxp.com/docs/en/reference-manual/CWMCUKINCMPREF.pdf).
The implementation is somewhat experimental. It has been tested on a few projects and works fairly well, but may have issues.
generator.process(generator.process(...))
Added support for code like this:
gen1 = generator(...)
gen2 = generator(...)
gen2.process(gen1.process('input.txt'))
Extra files keyword in declare_dependency
declare_dependency
have a new extra_files
keyword,
to add extra files to a target. It is used mostly for IDE integration.
gnome.generate_gir()
now supports env
kwarg
gnome.generate_gir()
now accepts the env
kwarg which lets you set environment variables.
More data in introspection files
- Used compilers are listed in
intro-compilers.json
- Informations about
host
,build
andtarget
machines are lister inintro-machines.json
-
intro-dependencies.json
now includes internal dependencies, and relations between dependencies. -
intro-targets.json
now includes dependencies,vs_module_defs
,win_subsystem
, and linker parameters.
Find more specific python version on Windows
You can now use python3.x
, where x
is the minor version,
to find a more specific version of python on Windows, when
using the python module. On other platforms, it was already
working as python3.x
is the executable name.
Python module can now compile bytecode
A new builtin option is available: -Dpython.bytecompile=2
. It can be used to
compile bytecode for all pure python files installed via the python module.
Support for defining crate names of Rust dependencies in Rust targets
Rust supports defining a different crate name for a dependency than what the actual crate name during compilation of that dependency was.
This allows using multiple versions of the same crate at once, or simply using a shorter name of the crate for convenience.
a_dep = dependency('some-very-long-name')
my_executable = executable('my-executable', 'src/main.rs',
rust_dependency_map : {
'some_very_long_name' : 'a',
},
dependencies : [a_dep],
)
Rust now supports the b_ndebug option
Which controls the debug_assertions
cfg, which in turn controls
debug_assert!()
macro. This macro is roughly equivalent to C's assert()
, as
it can be toggled with command line options, unlike Rust's assert!()
, which
cannot be turned off, and is not designed to be.
Wildcards in list of tests to run
The meson test
command now accepts wildcards in the list of test names.
For example meson test basic*
will run all tests whose name begins
with "basic".
meson will report an error if the given test name does not match any existing test. meson will log a warning if two redundant test names are given (for example if you give both "proj:basic" and "proj:").
New for the generation of Visual Studio vcxproj projects
When vcxproj is generated, another file vcxproj.filters is generated in parallel. It enables to set a hierarchy of the files inside the solution following their place on filesystem.
The results of the search are