Age | Commit message (Collapse) | Author | Files | Lines |
|
It is fairly confusing for all the "ninja explain" to be the last thing
you see, instead of the compile error.
|
|
Logs for failing tests come first, then the list of pass/fail.
|
|
List each testcase name that failed so we can see at a glance which ones
they are.
|
|
Signed-off-by: Filipe LaÃns <lains@riseup.net>
|
|
|
|
|
|
It was listed as `bool`, but it can be a `feature` too.
|
|
The bug it was blocked on was fixed in
a0514a7c4183a9e42d436865087d2f887d658d54.
|
|
See https://gitlab.kitware.com/cmake/cmake/-/issues/25200.
|
|
|
|
c_std, cpp_std: Change to a list of desired versions in preference order
|
|
gtkdoc() and generate_gir() methods assumes there is a C compiler, but
pure C++ projects might not add it explicitly.
Fixes: #12162
|
|
Compiler checks were not adding build dir side, which prevents using
headers generated with configure_file().
|
|
|
|
Prior to Windows 10, libfoo.a were usually not usable with MSVC. This is
not true any more since Autotools projects built with UCRT produce
libfoo.a that are compatible with MSVC.
This is another reason for using that naming convention in Meson.
|
|
`meson setup -Dfoo=bar builddir` command was returning success ignoring
new option values.
This now also update options. It is useful because it means
`meson setup -Dfoo=bar builddir && ninja -C builddir` works regardless
whether builddir already exists or not, and when done in a script,
changing options in the script will automatically trigger a reconfigure
if needed. This was already possible by always passing --reconfigure
argument, but that triggers a reconfigure even when options did not
change.
|
|
Move this message up before we attempt to change anything in the file
system (in this case creating the directory structure).
If an error occurs it will thus occur immediately after the message,
allowing us to debug what failed to install.
|
|
|
|
Fixes: #11797
|
|
This removes deadcode, vs_import_filename and gcc_import_filename were
not needed.
|
|
* Without this, using nvcc as the sole driver vs dependency('cuda') and
host compiler driver yields differently linked binaries.
|
|
|
|
|
|
The include directories were not passed to the compiler.
|
|
Github Actions supports this fine, but is misdetected by flake8/mypy.
Even though pylint defaults to text instead of colorized, we might as
well do the right thing here though.
|
|
This allows verifying that meson is type-safe under older versions of
Python, which it currently is. Different versions of Python sometimes
have different supported types for an API.
Verify this in CI.
(We flush output to ensure CI prints lines in the right order.)
|
|
This is our standard annotation policy, and makes mypy safe under python
3.7
|
|
And in fact *use* typing_extensions, which is sometimes the only way to
get access to TypedDict.
Mostly, reindent almost but not quite an entire file to only define
annotation classes under TYPE_CHECKING.
|
|
|
|
On average, saves 20 seconds for a job that may take 1.5 or 2 minutes.
Mostly due to recompiling the same 3 wheels again and again, so that
avoids pointless CPU waste.
|
|
The most notable problem this causes is that when running `meson setup
--reconfigure` the build.ninja file is erroneously seen as out of date,
so ninja immediately tries to regenerate it again as it didn't see the
file get updated.
There are two problems.
The first problem is that we looked for the wrong file. Ninja creates a
few internal files, and one of them is the one we care about:
`.ninja_log`, which contains stat'ed timestamps for build outputs to aid
in checking when things are out of date. But the thing we actually
checked for is `.ninja_deps`, a file that contains a compressed database
of depfile outputs. If the latter exists, then the former surely exists
too.
Checking for the wrong file meant that we would restat outputs, but only
when some build edges were previously built that had depfile outputs.
The second problem is that we checked for this in os.getcwd() instead of
the configured build directory. This very easily fails to be correct,
except when reconfigure is triggered directly by ninja itself, in which
case we didn't need the restat to begin with.
|
|
This reverts commit 84c8905d527893bedc673e8a036b8b2ec89368b4.
Fixed the cygwin failure...
|
|
Every time I update meson, I spend about 20 minutes on frustrated googling
to figure out how to update my build directory to work with the new version.
I'm forgetful, okay? Ease this pain point by suggesting a potential fix in
the error message.
|
|
|
|
Allow modules using CustomTarget to modify the command description used by ninja backend. This result in more precise logs when building a project.
|
|
|
|
This reverts commit f52bcaa27fc125ab9ae583af466ba99c164169f3.
It did not pass CI, and was merged anyway because there were two CI
errors in the same cygwin job. The other error was not the fault of this
commit, and since cygwin errors were glossed over because they were
"expected", the presence of a new error *added* by this commit was
overlooked.
Per the meson development policy, PRs which result in CI errors
can/should be reverted at will, no questions asked.
|
|
Previously, we only reported the skip reason when running project tests.
|
|
|
|
In commit f52bcaa27fc125ab9ae583af466ba99c164169f3 a few issues were
added:
- doc typo
- imports for utils.universal are not intended to be directly used, it's
an internal wrapper that exists solely to make mesonlib work well as
it always did while simultaneously allowing `meson --internal`
codepaths to avoid importing anything other than an extremely stripped
down core
- type annotation specific import was imported at runtime scope
|
|
|
|
This was an unintended consequence of the original patch in #11977.
Co-authored-by: Benoit Pierre <benoit.pierre@gmail.com>
|
|
Returns a relative path from arg 2 to arg 1 similar to
os.path.relpath().
|
|
|
|
This documents useful to target Meson versions for projects that want to
support older Python versions.
|
|
|
|
|
|
|
|
This commit adds a new keyword arg to extension_module() that enables
a user to target the Python Limited API, declaring the version of the
limited API that they wish to target.
Two new unittests have been added to test this functionality.
|
|
|