feat: build with meson by default - #309
Open
jdhughes-dev wants to merge 1 commit into
Open
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #309 +/- ##
=============================================
+ Coverage 79.710% 79.765% +0.055%
=============================================
Files 20 20
Lines 3588 3588
=============================================
+ Hits 2860 2862 +2
+ Misses 728 726 -2
🚀 New features to boost your workflow:
|
jdhughes-dev
force-pushed
the
meson-default
branch
from
August 10, 2026 17:14
4ff806a to
5933ea6
Compare
Meson now builds every target on every platform and with every compiler that is tested, using the build file a target provides where there is one and a generated build file otherwise, so it is the default. The argument becomes --meson and --no-meson, since a build can no longer be asked for by turning meson on. A meson build is always in place, which a build that is not was not, so the source of a downloaded target is no longer copied before it is built by default. test_build asks for the pymake build engine, which it used to get by default, so that it is still built and tested.
jdhughes-dev
force-pushed
the
meson-default
branch
from
August 11, 2026 03:05
5933ea6 to
c59cfa0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Meson now builds every target on every platform and with every compiler that is tested, using the build file a target provides where there is one and a generated build file otherwise, so it is the default.
This changes how every target is built, so it is worth being clear about what changes.
The argument becomes
--mesonand--no-meson, because a build with the pymake build engine can no longer be asked for by leaving meson off.pm.mesondefaults to True and can be set to False.A meson build is always in place, and a build that is not was not, so the source of a downloaded target is no longer copied to a temporary directory before it is built by default. A target that provides a meson build file is now built with the flags that build file sets rather than the flags pymake determines, so an executable will not be identical to one built before this change.
test_buildasks for the pymake build engine, which it used to get by default. Without that the pymake build engine would no longer be built or tested by anything, sincetest_meson_buildalready asks for meson.The exclusions that kept meson from building some targets are all gone, having been a module statement meson could not read for sutra, a Windows path separator for mt3dms, vs2dt and gridgen, and the link language for mf2000, mf2005, swtv4 and mflgr.