aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown
AgeCommit message (Collapse)AuthorFilesLines
2023-06-27modules/rust: Add a keyword argument to pass extra args to the rust compilerDylan Baker2-1/+6
This may be necessary to, for example, stop rustc complaining about unused functions
2023-06-27modules/rust: Add a machine file property for extra clang args with bindgenDylan Baker3-1/+18
It's currently impossible to inject extra clang arguments when using bindgen, which is problematic when cross compiling since you may need critical arguments like `--target=...`. Because such arguments must be passed after the `--` it's impossible to inject them currently without going to something like a wrapper script. Fixes: #11805
2023-06-27modules/rust: Add a `link_with` kwarg to the test methodDylan Baker2-1/+8
This was requested by Mesa, where a bunch of `declare_dependency` objects are being created as a workaround for the lack of this keyword
2023-06-25Add CppNorth talk.Jussi Pakkanen1-1/+5
2023-06-21rust: fix -C prefer-dynamic behaviorAlyssa Ross1-0/+8
I noticed when building a project that uses a proc macro that Meson passed -C prefer-dynamic for the executable, and not the proc macro, while cargo passed -C prefer-dynamic for the proc macro, but not for the executable. Meson's behavior broke setting -C panic=abort on the executable. As far as we can tell, because we explicitly pass each library path to rustc, the only thing -C prefer-dynamic affects in Meson is how the standard libraries are linked. Generally, one does not want the standard libraries to be dynamically linked, because if the Rust compiler is ever updated, anything linked against the old standard libraries will likely break, due to the lack of a stable Rust ABI. Therefore, I've reorganised Meson's behavior around the principle that the standard libraries should only be dynamically linked when Rust dynamic linking has already been opted into in some other way. The details of how this manifests are now explained in the documentation.
2023-06-20interpreter: allow default_options and override_options as a dictDylan Baker1-0/+5
2023-06-20add str.splitlines methodMartin Dørum1-0/+3
The new splitlines method on str is intended to replace usage of fs.read('whatever').strip().split('\n'). The problem with the .strip().split() approach is that it doesn't have a way to represent empty lists (an empty string becomes a list with one empty string, not an empty list), and it doesn't handle Windows-style line endings.
2023-06-19Add kernel and subsystem properties to machine objects.Jussi Pakkanen3-4/+57
2023-06-08Fix name of boost_includedir propertySébastien Villemot1-1/+1
2023-06-06Override find_program('meson')Tristan Partin1-0/+38
This override transparently upgrades anyone using it to this better functionality. Fixes #8511
2023-06-02docs: List vc++20 for cpp_stdNathan Kidd1-1/+1
vc++20 support was added in 012ec7d5b3379b035f1dd1369d74cafd26ff6ab0
2023-05-26add refivar to users.mdNicholas Vinson1-0/+1
2023-05-26Update Users.mdNicholas Vinson1-2/+2
fix package ordering to so Q* and r* packages are in alphabetical order.
2023-05-25mtest: wildcard selectionCharles Brunet3-0/+36
Allow the use of wildcards (e.g. *) to match test names in `meson test`. Raise an error is given test name does not match any test. Optimize the search by looping through the list of tests only once.
2023-05-23docs: gnome: mention that compile_resources adds dependencies by defaultPablo Correa Gómez1-0/+2
It is not very clear from the documentation that the dependencies in the resource file are added as default dependencies to the target.
2023-05-21Allow generator.process(generator.process(...))Volker Weißmann1-0/+8
Fixes #1141
2023-05-08docs/prebuilt: fix sanity check logic in the exampleJoel Rosdahl1-1/+1
2023-05-06Initial support for Metrowerks AssemblerNomura1-0/+2
2023-05-03Visual studio: Generate vcxproj.filters files to adds filters to imitated ↵Renan Lavarec1-0/+4
directories to navigate more easily in the source files.
2023-05-02python module: add an automatic byte-compilation stepEli Schwartz2-0/+15
For all source `*.py` files installed via either py.install_sources() or an `install_dir: py.get_install_dir()`, produce `*.pyc` files at install time. Controllable via a module option.
2023-05-02Find python3.xx on windowsCharles Brunet2-1/+10
2023-04-26Add env kwarg to gnome.generate_gir().Volker Weißmann2-0/+6
Fixes #384
2023-04-24dependencies: allow to fallback on CMake to find the SDL2 libraryMatthieu Bouron1-3/+3
On Windows, the SDL2 library is generally provided with only CMake config files. This commit allows meson to fallback on CMake as a last resort to find the SDL2 library.
2023-04-24Initial support for Metrowerks C/C++ compilerNomura2-0/+9
2023-04-21rust: Add new `rust_dependency_map` target configurationSebastian Dröge1-0/+18
This allows changing the crate name with which a library ends up being available inside the Rust code, similar to cargo's dependency renaming feature or `extern crate foo as bar` inside Rust code.
2023-04-21docs: update the Rust bindgen docs to talk about assertionsDylan Baker1-0/+9
Since we now guarantee that Rust and C/C++ will have assertions both on or both off, we can give guidance about using `cfg(debug_assertions)` to wrap code using `#ifdef NDEBUG`.
2023-04-21rust: add support for b_ndebugDylan Baker1-0/+6
Rust has a `debug_assert!()` macro, which is designed to be toggled on the command line. It is on by default in debug builds, and off by default in release builds, in cargo. This matches what meson's b_ndebug option does in `if-release` mode.
2023-04-20intro: add more details to generated json filesCharles Brunet1-0/+9
This will help with the writing of tools to generate VisualStudio project and solution files, and possibly for other IDEs as well. - Used compilers a about `host`, `build` and `target` machines arere listed in `intro-compilers.json` - Informations lister in `intro-machines.json` - `intro-dependencies.json` now includes internal dependencies, and relations between dependencies. - `intro-targets.json` now includes dependencies, `vs_module_defs`, `win_subsystem`, and linker parameters.
2023-04-20extra_files keyword in declare_dependency()Charles Brunet1-0/+4
2023-04-17Update Users.md [skip ci]Volker Weißmann1-0/+1
2023-04-11fix various spelling issuesJosh Soref32-45/+45
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-11Change "can not" to "cannot" throughout projectHiPhish13-16/+16
The word "cannot" expresses inability to do something whereas "can not" expresses the ability to refrain from doing something.
2023-04-11Fix spelling and grammar in Dependencies.mdPete Dietl1-3/+3
2023-04-10Generate relnotes for 1.1.0.Jussi Pakkanen19-198/+224
2023-03-29Make --vsenv a readonly builtin optionXavier Claessens1-5/+21
We need to remember its value when reconfiguring, but the Build object is not reused, only coredata is. This also makes CLI more consistent by allowing `-Dvsenv=true` syntax. Fixes: #11309
2023-03-28doc: Fix some broken linksXavier Claessens1-1/+1
2023-03-28docs: replace most uses of `meson_options.txt` with `meson.options`Dylan Baker6-7/+8
I've left the old release notes in place, but updated everything else to use `meson.options`
2023-03-28Add support for meson.options as a replacement for meson_options.txtDylan Baker1-0/+7
We will still try to load `meson_options.txt` if `meson.options` doesn't exist. Because there are some advantages to using `meson.options` even with older versions of meson (such as better text editor handling) we will not warn about the existence of a `meson.options` file if a `meson_options.txt` file or symlink also exists. The name `meson.options` was picked instead of alternative proposals, such as `meson_options.build` for a couple of reasons: 1. meson.options is shorter 2. While the syntax is the same, only the `option()` function may be called in meson.options, while, it may not be called in meson.build 3. While the two files share a syntax and elementary types (strings, arrays, etc), they have different purposes: `meson.build` declares build targets, `meson.options` declares options. This is similar to the difference between C's `.c` and `.h` extensions. As an implementation detail `Interpreter.option_file` has been removed, as it is used exactly once, in the `project()` call to read the options, and we can just calculate it there and not store it. Fixes: #11176
2023-03-27Allow --reconfigure and --wipe of empty builddirXavier Claessens1-0/+10
This allows to run setup command regardless whether the builddir has been configured or not previously. This is useful for example with scripts that always repeat all options. meson setup builddir --reconfigure -Dfoo=bar
2023-03-27docs: add 2022 video from PyCon USandy59951-0/+3
2023-03-20backends: add a new "none" backendEli Schwartz2-1/+15
It can only be used for projects that don't have any rules at all, i.e. they are purely using Meson to: - configure files - run (script?) tests - install files that exist by the end of the setup stage This can be useful e.g. for Meson itself, a pure python project.
2023-03-17fix meson compile with alias targetCharles Brunet1-1/+1
this fixes a bug introduced by #11528
2023-03-09dependencies: add pybind11 custom factoryEli Schwartz2-0/+15
This works with pkg-config and cmake without any special support. The custom factory adds further support for config-tool, via `pybind11-config`. This is useful because the config-tool will work out of the box when pybind11 is installed, but the pkg-config and cmake files are shoved into python's site-packages, which is an unfortunate distribution model and makes it impossible to use in an out of the box manner. It's possible to manually set up the PKG_CONFIG_PATH to detect it anyway, but in case that does not happen, having the config-tool fallback is extremely useful.
2023-03-02doc: remove unexisting operators from grammarCharles Brunet1-1/+1
2023-03-02mintro: redirect stdout to stderrCharles Brunet1-0/+5
2023-02-28doc: Be more specific about warning_level optionXavier Claessens1-0/+17
Fixes: #11469
2023-02-27Improve unity build documentationCharles Brunet1-1/+15
2023-02-27docs: add Criterionandy59951-0/+1
2023-02-27documentation: there is no unary + operatorCharles Brunet1-1/+1
2023-02-24docs: fix bad advice to use python module to find pythonEli Schwartz1-2/+2