Age | Commit message (Collapse) | Author | Files | Lines |
|
Some CMake packages fail to find at all if no version is specified.
This commit adds a cmake_version parameter to dependency() to allow you
to specify the requested version.
|
|
Update unstable CUDA Module to support newest toolkits and drivers.
|
|
|
|
This reverts commit 3e6fbde94c1cb8d4e01b7daf0282c315ff0e6c7d.
|
|
- mention installing from local sources, not PyPI
- warn against --user installs, which too often screw up users that then
cannot install projects because ~/.local won't be in sudo's PYTHONPATH
- advise installing with sudo -- current versions of pip assume --user
for you rather than failing with permission errors, which is great
unless, like meson, there are compelling reasons to need to install as
root
|
|
|
|
|
|
|
|
|
|
|
|
Some license identifiers are ambiguous (e.g. "GPL3"). The SPDX license
identifiers avoid this by providing standardized and unique identifiers
(e.g. "GPL-3.0-only" or "GPL-3.0-or-later" for the previous example).
Because SPDX short-form identifiers are also both human- and
machine-readable we should recommend them in the documentation.
More information (advantages, details, etc.) can be found here:
- https://spdx.dev/resources/use/#identifiers
- https://spdx.dev/ids/
Fix #7905.
|
|
Using the std option, so now `rust_std=..` will work. I've chosen to use
"std" even though rust calls these "editions", as meson refers to
language versions as "standards", which makes meson feel more uniform,
and be less surprising.
Fixes: #5100
|
|
Apparently anchor links are case-sensitive and needs to be lowercase in hotdoc.
Prior to this change the anchor links were uppercase so the link did not refer to the anchor tag.
Likely that there are more occurrences around the docs than this, have not looked.
|
|
Fixes #7925
|
|
|
|
|
|
|
|
|
|
Share common code to extract the `variables` kwarg in
declare_dependency() and pkg.generate().
|
|
|
|
Merge wraps from subprojects into wraps from main project
|
|
|
|
|
|
wraps from subprojects are now merged into the list of wraps from main
project, so they can be used to download dependencies of dependencies
instead of having to promote wraps manually. If multiple projects
provides the same wrap file, the first one to be configured wins.
This also fix usage of sub-subproject that don't have wrap files. We can
now configure B when its source tree is at
`subprojects/A/subprojects/B/`. This has the implication that we cannot
assume that subproject "foo" is at `self.subproject_dir / 'foo'` any
more.
|
|
|
|
cmake: Cross compilation support
|
|
You could always specify a list of tests to run by passing the names as
arguments to `meson test`. If there were multiple tests with that name (in the
same project or different subprojects), all of them would be run. Now you can:
1. Run all tests with the specified name from a specific subproject: `meson test subprojname:testname`
1. Run all tests defined in a specific subproject: `meson test subprojectname:`
Also forbid ':' in test names. We already forbid this elsewhere, so
should not be a big deal.
|
|
|
|
|
|
|
|
Allow blocking/forcing automatic subproject search
|
|
|
|
Sometimes, distros want to configure a project so that it does not
use any bundled library. In this case, meson.build might want
to do something like this, where slirp is a combo option
with values auto/system/internal:
slirp = dependency('', required: false)
if get_option('slirp') != 'internal'
slirp = dependency('slirp',
required: get_option('slirp') == 'system')
endif
if not slirp.found()
slirp = subproject('libslirp', ...) .variable('...')
endif
and we cannot use "fallback" because the "system" value should never
look for a subproject.
This worked until 0.54.x, but in 0.55.x this breaks because of the
automatic subproject search. Note that the desired effect here is
backwards compared to the policy of doing an automatic search on
"required: true"; we only want to do the search if "required" is false!
It would be possible to look for the dependency with `required: false`
and issue the error manually, but it's ugly and it may produce an error
message that looks "different" from Meson's.
Instead, with this change it is possible to achieve this effect in an
even simpler way:
slirp = dependency('slirp',
required: get_option('slirp') != 'auto',
allow_fallback: get_option('slirp') == 'system' ? false : ['slirp', 'libslirp_dep'])
The patch also adds support for "allow_fallback: true", which is
simple and enables automatic fallback to a wrap even for non-required
dependencies.
|
|
Automatic fallback to subprojects is complicated and should be
pointed out outside the "fallback" keyword argument. It is also
surprising that fallback to a subproject will not happen if
override_dependency has already been used with the request
dependency. Document all this.
|
|
|
|
This is required to make the various keys in the [user options] section
work the same as they do in the meson_options.txt file, where we don't
have any rules about case sensitivity.
There is some risk here. Someone may be relying on this lower by default
behavior, and this could break their machine files.
Fixes #7731
|
|
It was slightly wrong, and also make it a bullet point for easier
parsing.
|
|
The get_variable method is able to do everything they do and more,
making it generally more useful. Let's tell people to stop using the old
ones.
|
|
|
|
|
|
That calls find_library and has_header in conjunction to look for curses
implementations that are baked into the system without any other find
method.
|
|
These are mostly duplicated with pkg-config, but maybe someone has one
but not another, and they're easy to turn on with the
ConfigToolDependency.
|
|
|
|
dependencies/hdf5: Convert to a dependency_factory
|
|
Deprecate meson.build_root() and meson.source_root()
|
|
Add a note about the portability of using shell constructs in the
custom_target() command.
|
|
|
|
|
|
Instead of the default ones, this is especially important when cross
compiling or when using compilers that aren't compatible with the
default ones.
squash! dependencies/hdf5: Use the actual system compilers
|
|
Instead of a mega dependency that does everything, use a dependency
factory for config-tool and pkg-config
|