Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
The problem is what happens in this case:
```meson
add_project_arguments('-DHOST', language : 'c', native : false)
add_project_arguments('-DBUILD', langauge : 'c', native : true)
```
The original meson behavior was that in an host == build configuration
only the `native : false` would be applied. This doesn't really make
sense as in that case the build machine is the host machine, so it is
both the native and non-native machine at once. We changed this so that
the both would be applied in a host == build configuration, but this is
a behavioral change, and needs to be reverted.
Fixes: #9037
|
|
I was debugging this code, these were trivial, so I added them.
|
|
Fixes: #9022
|
|
In the case main->subp->subsubp, if subsubp succeed to configure but
subp subsequentially fails, subsubp is still being built but its summary
was missing.
|
|
Fixes: #9038
|
|
Fixes: #9081
|
|
fixs: #9000 Meson not correctly process with -l:xxx.a link arguments in pkgconfig .pc file.
see also:https://stackoverflow.com/questions/48532868/gcc-library-option-with-a-colon-llibevent-a
with unit test, unit test will be partially skiped if pkg-config version < 0.28 .
see: https://gitlab.freedesktop.org/pkg-config/pkg-config/-/blob/master/NEWS
|
|
|
|
Fixes: #9065
|
|
This fix kwargs not going through typed_kwargs() decorator that sets
defaults.
Fixes: #9009
|
|
Gcovr interprets exclude filters, as passed to the -e option, as
regexes. Since we want to exclude a raw path, the argument must be
escaped.
|
|
As this works correctly for CustomTarget, CustomTargetIndex, and
GeneratedList, but .subdir doesn't work for CustomTargetIndex.
|
|
|
|
It needs this to match the behavior of CustomTarget and
CustomTargetIndex, the later of which doesn't have a subdir attribute,
just `get_subdir()`
|
|
|
|
GTestDependencySystem (and other similar dep classes) sets
self.is_found=True, but the version check could still fail. In the case
the dependency is not required `ExternalDependency._check_version()`
won't raise an exception and thus the dependency is accepted.
_check_version() sets self.is_found() in the case self.version is not
empty, we should do it too when self.version is empty.
Fixes: #9036.
|
|
|
|
This works for `moc_*` and `ui_files`, but it never could have worked
for `qresources` due to the implementation assuming a `str` or `File`.
To restore previous compatibility I've added `CustomTarget` where it
would have worked, but not where it would have failed, the former would
raised an exception along the lines anyway.
Fixes #9007
|
|
|
|
|
|
If the command fails for one subproject we should still continue with
others. Failed subprojects are reported at the end.
This issue became more problematic when doing parallel tasks because the
reason the command fails was completely hidden by other parallel tasks.
|
|
g-ir-scanner does not convert relative -L paths to runtime paths which
are added to -Wl,-rpath and LD_LIBRARY_PATH / DYLD_LIBRARY_PATH
/ PATH. This means that the local library will either not be found at
runtime (while building introspection data), or the system-wide
library will be picked instead.
See: giscanner/ccompiler.py:get_internal_link_flags() in
gobject-introspection for more details.
|
|
|
|
It is never None and always an absolute path
|
|
"meson setup" is resolving symlinks for the build directory in
validate_core_dirs. For consistency with it, do the same when
the build directory is passed via -C to devenv, dist, init, install
and test.
This ensures for example that the path to test dependencies is
computed correctly in "meson test".
Fixes: #8765
|
|
|
|
Add /subsystem:xxx to xilink command line, either as specified in the build settings or as "console" by default.
|
|
|
|
code coverage may be interesting to some people as an informational
update, but it's really fragile and sometimes obscure, and overall we
would really like to NOT have most PRs reporting a red X in the CI
overview, when all project/unittests succeeded but codecov decides that
by some inscrutbale metric, coverage by % has dropped.
Elegant refactorings are penalized, because removing lines of code or
rewriting them to be more compact, means the overall percentage of
covered code is "less", even though no uncovered code got added.
Even worse, the coverage reports often erroneously complain that a PR
has "added lines #L<num> - L<num> were not covered by tests" even though
github helpfully points out they are "Unchanged files with check
annotations". Or more generally, codecov claims that coverage has
dropped in code which the PR can't touch.
The whole thing is just too much of a source of trouble. So, configure
codecov to consider all PRs as successful no matter what. It is still
welcome to leave informational comments, though.
|
|
Fix #8986
|
|
Propagate the run_tests.py exit code, rather than overwriting it with
the codecov exit code.
|
|
|
|
This restricts the pipeline from running on 'non-code' pushes and PRs in
the same way that GitHub workflows which run project tests are (although
the syntax is different, and must be made more explicit as wildcards
aren't supported).
|
|
|
|
|
|
The Environment object constructor accepts None as build_dir (for quite
a while now), so don't bother with creating a temporary directory for
use as the build_dir, if we're not going to need it.
Future work: Environment.__init__() sets scratch_dir to '' if build_dir
is None, which seems a little wonky, as it isn't a path.
|
|
Remove hard-coded framework test skip logic in skippable(), instead
annotate test.json with environments in which skip is expected.
(Mainly this is done with by testing the value of MESON_CI_JOBNAME now
set for linux jobs)
|
|
If the required LLVM modules can't be found, skip the LLVM framework
test, rather than succesfully doing nothing.
(This optionality is a leftover from before #7379)
(At the moment, OpenSuse provides dynamic-only LLVM. The cmake method
still finds LLVM, when a static LLVM is requested, but fails to find any
modules. This might be a bug in the cmake method of the LLVM
dependency.)
|
|
|
|
|
|
Plan to replace the hard-coded list of 'may be skipped' framework tests in
skippable() with annotations in test.json which record 'will be skipped
in these specific CI jobs'.
If the value of the MESON_CI_JOBNAME env var (an arbitrary string
expected to be unique for each CI configuration) contains any of the
strings in the `skip_on_jobname` key in test.json, the test is expected
to output MESON_SKIP_TEST.
Unexpected skips or runs are treated as an error.
Future work: Maybe we should add additional count categories 'unexpected
skip' and 'unexpected not skipped', rather than counting those as 'skipped'
and 'failed', respectively.
|
|
Drop checking skippable() in run_single_test. It always returns True
unless we are under CI, so checking it here is pointless.
|
|
In all these cases, the test has already been determined as skippable
because it's not part of the 'frameworks' suite.
|
|
It has a similar interface to windres, but it produces ELF instead of
COFF binaries. It uses its own preprocessor which doesn't support
creating depfiles, but we can convince it to use the system preprocessor
instead and pass those arguments using the --preprocessor option.
Together with some hacks to override the shared library/executable
suffix and some wine patches [1] this is enough to compile dxvk when
ripping out the hand-rolled rc support.
[1] https://www.winehq.org/pipermail/wine-devel/2021-July/190100.html
https://www.winehq.org/pipermail/wine-devel/2021-July/190098.html
https://www.winehq.org/pipermail/wine-devel/2021-July/190099.html
https://www.winehq.org/pipermail/wine-devel/2021-July/190101.html
|
|
An `f` was dropped in bd6f46e723813dfadaba1f7c87d3b0b751d05219
|
|
|
|
fixes #8893
|
|
|
|
|