aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-09-01tests: sync ninja stdout/stderr instead of listing them separatelyEli Schwartz1-2/+2
It is fairly confusing for all the "ninja explain" to be the last thing you see, instead of the compile error.
2023-09-01tests: make summary section for project tests more like pytestEli Schwartz1-5/+6
Logs for failing tests come first, then the list of pass/fail.
2023-09-01tests: make run_project_tests finish off the verbose logs with a summaryEli Schwartz1-0/+5
List each testcase name that failed so we can see at a glance which ones they are.
2023-09-01compilers: fix compiler detection when the "ccache" string is in the pathFilipe Laíns1-1/+1
Signed-off-by: Filipe Laíns <lains@riseup.net>
2023-08-31add json output format to configure fileCharles Brunet10-24/+121
2023-08-31Document that dicts can be indexed with []Bruce Merry1-0/+9
2023-08-31Doc: fix type signature for add_languages.requiredBruce Merry1-1/+1
It was listed as `bool`, but it can be a `feature` too.
2023-08-30Re-enable "11 runpath rpath ldlibrarypath"Tristan Partin2-3/+1
The bug it was blocked on was fixed in a0514a7c4183a9e42d436865087d2f887d658d54.
2023-08-30Disable failing test on cygwin due to broken cmakeCharles Brunet1-1/+8
See https://gitlab.kitware.com/cmake/cmake/-/issues/25200.
2023-08-30ci: Skip gir test on cygwinXavier Claessens2-1/+7
2023-08-30Merge pull request #10332 from xclaesse/std-optJussi Pakkanen10-111/+240
c_std, cpp_std: Change to a list of desired versions in preference order
2023-08-29gnome: Fix crash in gtkdoc and generate_gir in C++ projectsXavier Claessens11-0/+85
gtkdoc() and generate_gir() methods assumes there is a C compiler, but pure C++ projects might not add it explicitly. Fixes: #12162
2023-08-28include_directories: Always add both source and build dirsXavier Claessens5-5/+17
Compiler checks were not adding build dir side, which prevents using headers generated with configure_file().
2023-08-28Add CUDA id and flags to reference tablesBruce Merry1-0/+3
2023-08-27FAQ: MinGW UCRT are compatible with MSVC and also use libfoo.aXavier Claessens1-0/+3
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.
2023-08-25msetup: Update options when builddir is already configuredXavier Claessens6-22/+59
`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.
2023-08-24minstall: move the "Installing foo to bar" message upPeter Hutterer1-6/+8
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.
2023-08-24Suggest using --reconfigure only when not already using itXavier Claessens3-15/+15
2023-08-24find_program: Fallback if version mismatchXavier Claessens7-29/+65
Fixes: #11797
2023-08-24build: Simplify import_filename handlingXavier Claessens1-39/+17
This removes deadcode, vs_import_filename and gcc_import_filename were not needed.
2023-08-23Use `cudart_static` by default in dependency('cuda')David Seifert1-1/+3
* Without this, using nvcc as the sole driver vs dependency('cuda') and host compiler driver yields differently linked binaries.
2023-08-23Fix completely broken support for `static: true` with dependency('cuda')David Seifert1-2/+10
2023-08-23machine file: Add @GLOBAL_SOURCE_ROOT@ and @DIRNAME@Xavier Claessens6-15/+51
2023-08-22compilers: fix checks handling of internal dependenciesBenoit Pierre3-0/+12
The include directories were not passed to the compiler.
2023-08-18CI: make linters emit colored outputEli Schwartz1-2/+4
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.
2023-08-18run_mypy: add option to run once for each supported version of pythonEli Schwartz2-3/+13
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.)
2023-08-18consistently use Literal annotation from typing_extensionsEli Schwartz2-2/+4
This is our standard annotation policy, and makes mypy safe under python 3.7
2023-08-18docs: use future annotations for genrefman types in typing_extensionsEli Schwartz2-67/+71
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.
2023-08-18CI: trigger website job when testing modifications to the website jobEli Schwartz1-0/+2
2023-08-18CI: add pip caching to website jobEli Schwartz1-0/+16
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.
2023-08-18ninja backend: fix the automatic restat of outputs when reconfiguringEli Schwartz1-3/+3
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.
2023-08-18Revert "Revert "Add fs.relative_to()""Tristan Partin6-8/+112
This reverts commit 84c8905d527893bedc673e8a036b8b2ec89368b4. Fixed the cygwin failure...
2023-08-18Suggest fix in MesonVersionMismatchExceptionM Henning1-1/+2
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.
2023-08-18tests: fix assertion rewriting when pytest is usedBenoit Pierre3-2/+2
2023-08-18Add more descriptive description to CustomTargetCharles Brunet10-2/+30
Allow modules using CustomTarget to modify the command description used by ninja backend. This result in more precise logs when building a project.
2023-08-18docs: Provide example for feature.disable_auto_ifJan Janssen1-0/+14
2023-08-17Revert "Add fs.relative_to()"Eli Schwartz6-116/+8
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.
2023-08-17tests: consolidate MESON_SKIP_TEST reporting and use it in unittestsEli Schwartz4-36/+26
Previously, we only reported the skip reason when running project tests.
2023-08-17skip test on pkgconf 2.0.1 that is broken there due to a reported bugEli Schwartz1-0/+4
2023-08-17fix style errors in fs.relative_to implementationEli Schwartz2-9/+3
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
2023-08-17Remove hacky setup for CustomTargetIndex tests in fs.relative_to()Tristan Partin1-21/+5
2023-08-17Remove XML filter from testlog.{json,txt} and std streamsTristan Partin3-11/+17
This was an unintended consequence of the original patch in #11977. Co-authored-by: Benoit Pierre <benoit.pierre@gmail.com>
2023-08-17Add fs.relative_to()Tristan Partin6-2/+132
Returns a relative path from arg 2 to arg 1 similar to os.path.relpath().
2023-08-17Replace deprecated GTK flagCharlie Ringström1-1/+1
2023-08-17README: Document python requirement historyXavier Claessens1-0/+5
This documents useful to target Meson versions for projects that want to support older Python versions.
2023-08-16Fix some random capitalization in feature.yamlTristan Partin1-3/+3
2023-08-16fs.read(): Catch FileNotFoundErrorXavier Claessens2-1/+7
2023-08-16wasm: make generic cross fileXavier Claessens1-3/+3
2023-08-14Python: Add 'limited_api' kwarg to extension_moduleAndrew McNulty15-20/+264
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.
2023-08-14interpreter: use typed_kwargs for shared_library(darwin_versions)Dylan Baker3-43/+49