aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown
AgeCommit message (Collapse)AuthorFilesLines
2023-12-13add the EFL, Enlightenment, libdwarf and ThorVG as users of mesonVincent Torri1-0/+4
2023-12-12cmake: parse project versionNicolas Werner1-0/+6
This properly sets the project version in projects meson generates from cmake projects. This allows dependency fallbacks to properly check the version constraints in dependency calls when falling back to a cmake subproject. Before this would fail, because the project version was undefined.
2023-11-24File: Add full_path() methodXavier Claessens1-0/+7
This is needed now that str.format() is not allowing it any more. It is also more consistent with other objects that have that method as well, such as build targets. Fixes: #12406
2023-11-22docs: Update Quick-guide.mdBin Meng1-1/+1
Change the shell prompt to '#' to when installing as root. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2023-11-22Update release frequency to match realityPeter Harris1-2/+2
Releases have been happening an average of once every 90 days for the past two years (since 0.60.0). If we just look at releases since 1.0.0, the average is over 100 days.
2023-11-22docs: fix bindgen_clang_arguments exampleAlyssa Ross1-1/+1
> error: unsupported option '--target'; did you mean '-target'?
2023-11-19Generate release notes for 1.3.0.1.3.0Jussi Pakkanen33-298/+338
2023-11-17note on glib libraryalbert1-0/+2
2023-11-14dependencies: allow get_variable to define multiple pkgconfig definesEli Schwartz1-0/+10
It was previously impossible to do this: ``` dep.get_pkgconfig_variable( 'foo', define_variable: ['prefix', '/usr', 'datadir', '/usr/share'], ) ``` since get_pkgconfig_variable mandated exactly two (if any) arguments. However, you could do this: ``` dep.get_variable( 'foo', pkgconfig_define: ['prefix', '/usr', 'datadir', '/usr/share'], ) ``` It would silently do the wrong thing, by defining "prefix" as `/usr=datadir=/usr/share`, which might not "matter" if only datadir was used in the "foo" variable as the unmodified value might be adequate. The actual intention of anyone writing such a meson.build is that they aren't sure whether the .pc file uses ${prefix} or ${datadir} (or which one gets used, might have changed between versions of that .pc file, even). A recent refactor made this into a hard error, which broke some projects that were doing this and inadvertently depending on some .pc file that only used the second variable. (This was "fine" since the result was essentially meaningful, and even resulted in behavior identical to the intended behavior if both projects were installed into the same prefix -- in which case there's nothing to remap.) Re-allow this. There are two ways we could re-allow this: - ignore it with a warning - add a new feature to allow actually doing this Since the use case which triggered this bug actually has a pretty good reason to want to do this, it makes sense to add the new feature. Fixes https://bugs.gentoo.org/916576 Fixes https://github.com/containers/bubblewrap/issues/609
2023-11-05Update Users.mdMichael Gene Brockus (Dreamer)1-0/+1
2023-11-05Adding Trilobite Data to Users.mdMichael Gene Brockus (Dreamer)1-0/+1
2023-11-02scan-build: Exclude subprojects from scan-build reportAndrew McNulty1-0/+4
When a user invokes the scan-build target that Meson generates all subprojects are included in the resulting report. This commit modifies the invocation of scan-build to exclude all bugs that scan-build finds in the subprojects from the final report. A release note has also been added describing the changed behaviour.
2023-10-20Support -j as a shorthand for --num-processesTristan Partin1-0/+4
We already use -j to support parallelism in meson compile. So let's add the same for meson test and meson subprojects.
2023-10-19pkgconfig: Allow setting both pkgconfig and pkg-configXavier Claessens1-0/+10
This was previously allowed for different usage. Keep allowing it, but with non fatal deprecation notice, and ignore the value from legacy pkgconfig.
2023-10-19mtest: set ASAN_OPTIONS and UBSAN_OPTIONS to abort by defaultSam James2-0/+11
Do as we do for MALLOC_PERTURB and set a sensible value for both ASAN_OPTIONS and UBSAN_OPTIONS to abort on failure and give more helpful output at the same time. We do not set these options if the user has exported a value themselves to allow override. In the last week alone, I've observed two cases where people were expecting sanitizers to abort on failure and were surprised when it didn't: 1) https://github.com/git/git/commit/252d693797912ddb2684733160170f0408b73274 2) https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/c47df433f7bc9936fc59b323ca5e53ea4a04f40e Correct this - which is in-line with meson's DWIM/DTRT philosophy. Signed-off-by: Sam James <sam@gentoo.org>
2023-10-17release notes: fix snippet for "fill:" argumentPaolo Bonzini1-3/+3
The release notes were using the older spelling "length". Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2023-10-09interpreter: Add support for cargo subprojectXavier Claessens2-1/+23
2023-10-09interpreter: add <lang>_(static|shared)_argsDylan Baker1-0/+9
Which allow passing arguments specifically to the static or shared libraries. For design, this is all handled in the interpreter, by the build layer the arguments are combined into the existing fields. This limits changes required in the mid and backend layers
2023-10-05Add env kwarg in generator.process()Nomura1-0/+4
2023-10-05mcompile: add suffix as an additional parameterDudemanguy2-2/+12
Since the previous commit allows for more scenarios with name collisions, it makes sense to expand the compile command so that it can also take into account suffixes. i.e. meson compile -C build foo.exe can now work if the executable has an exe suffix along with being named foo.
2023-10-05build: use suffix when getting target id for exesDudemanguy1-0/+14
When checking target names, meson explictly forbids having multiple targets with the same name. This is good, but it is strict and it is impossible to have targets with the same basename and differing suffixes (e.g. foo and foo.bin) in the same directory. Allow this for executables by including the suffix (if it exists) in the interal target id. So foo would be foo@exe and foo.bin would be foo.bin@exe.
2023-09-30Update Users.mdMichael Gene Brockus (Dreamer)1-0/+1
2023-09-28add support for vs_module_defs to ExecutablesDylan Baker1-0/+4
fixes: #9254
2023-09-28fix using a CustomTargetIndex for vs_module_defsDylan Baker1-0/+8
Because `CustomTargetIndex`es don't have a `subdir` property, but they do implement the `get_subdir()` method
2023-09-25Add clang-tidy-fix targetLei YU1-0/+9
Add the `clang-tidy-fix` target to apply clang-tidy fixes to the source code. This is done by calling `run-clang-tidy` with `-fix` argument. Add a test case to run `clang-tidy-fix` and verify the file is changed. Signed-off-by: Lei YU <yulei.sh@bytedance.com>
2023-09-22Allow to fallback to cmake subprojectXavier Claessens2-0/+36
The method can be overridden by setting the `method` key in the wrap file and always defaults to 'meson'. cmake.subproject() is still needed in case specific cmake options need to be passed. This also makes it easier to extend to other methods in the future e.g. cargo.
2023-09-22CPU family support 'sw_64' and remove the compile warning (#12273)Kunwu.Chan1-0/+2
add sw_64 to the list of known cpus
2023-09-19Rust: Replace rust_crate_type with rust_abiXavier Claessens1-0/+11
Meson already knows if it's a shared or static library, user only need to specify the ABI (Rust or C).
2023-09-19Rust: Add a rust.proc_macro() methodDylan Baker1-0/+29
2023-09-18fix linksyyyyyiiiiii1-2/+2
Wayland, Weston, wlroots migrated to gitlab.freedesktop.org
2023-09-18Update link to lcovEberhard Beilharz1-1/+1
lcov moved from sourceforge to github, so this change updates the link.
2023-09-15reference tables: Document how to set compiler paths with spaces in ↵L. E. Segovia1-0/+20
environment variables See #11128
2023-09-13install_{data,headers,subdir}: implement follow_symlinksArsen Arsenović1-0/+7
This permits users who rely on following symlinks to stay on the old default of following them.
2023-09-11raw printerCharles Brunet1-1/+1
this printer preserves all whitespaces and comments in original meson.build file. It will be useful for rewrite and potential auto-formatter
2023-09-09gnome.mkenum_simple(): Fix include path when header is in subdirXavier Claessens1-0/+7
It was generating #include with the basename of every header file. That assumes that every directory where there are headers are also included into search path when compiling the .c file. Change to use path relative to current subdir, which can be both in build or source directory. That means that we assume that when the .c file is compiled, the target has a include_directories pointing to the directory where gnome.mkenum_simple() has been called, which is generally '.' and added automatically. Also fix type annotation to only allow str and File sources, other types have never been working, it would require to iterate over custom target outputs, etc. Fixes: #7582
2023-09-09Add support for padding zeroes in int.to_string() methodNomura1-0/+20
2023-09-09Add macro_name option to configure_fileNicholas Vinson1-0/+6
Allow macro_name to be speficied as a parameter to configure_file(). This allows C macro-style include guards to be added to configure_file()'s output when a template file is not given. This change simplifies the creation of configure files that define macros with dynamic names and want the C-style include guards.
2023-09-09clike compilers: fix cross_* functions' includeMoody Liu1-0/+13
A standard C library may not exist for cross-compile environments, thus the existence of <stdio.h> cannot be guaranteed. Use <stddef.h> instead, this header contains compiler-specific defines thus it usually comes from the compiler.
2023-09-07Add compiler.has_defineMarvin Scholz1-0/+10
Adds a new method to the compiler object, has_define. This makes it possible to check if a preprocessor macro/define is set or not. This is especially helpful if the define in question is empty, for example: #define MESON_EMPTY_DEFINE This would yield the same results as a missing define with the existing get_define method, as it would return an empty string for both cases. Therefore this additional method is needed.
2023-09-05wrap: Use MESON_PACKAGE_CACHE_DIR as default packagecache pathXavier Claessens2-0/+13
Allow packagecache to contain already extracted directory to match what some distro does with Cargo source packages in /usr/share/cargo/registry. Note that there is no need to lock the cache directory because we download into a temporary name and atomically rename afterward. It means we could be downloading the same file twice, but at least integrity is guaranteed. Fixes: #12211
2023-09-04Adding Meson-UI back on IDE-integration.mdMichael Gene Brockus (Dreamer)1-0/+1
2023-09-04Add trilo xtest to usersMichael Gene Brockus (Dreamer)1-0/+1
2023-08-31add json output format to configure fileCharles Brunet1-0/+5
2023-08-31Document that dicts can be indexed with []Bruce Merry1-0/+9
2023-08-30Merge pull request #10332 from xclaesse/std-optJussi Pakkanen2-0/+33
c_std, cpp_std: Change to a list of desired versions in preference order
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 Claessens2-0/+24
`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-23machine file: Add @GLOBAL_SOURCE_ROOT@ and @DIRNAME@Xavier Claessens2-0/+25
2023-08-18Revert "Revert "Add fs.relative_to()""Tristan Partin2-0/+31
This reverts commit 84c8905d527893bedc673e8a036b8b2ec89368b4. Fixed the cygwin failure...