aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown
AgeCommit message (Collapse)AuthorFilesLines
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
2023-02-23docs: add gcc to list of compilers with sanitize toolsandy59951-1/+1
2023-02-23Update Vs-External.mdValeri1-1/+1
Fix minor typo
2023-02-20minstall: drop privileges before running rebuild_allEli Schwartz2-1/+19
If the user runs `sudo meson install` this may run ninja to build everything that gets installed. This naturally happens as root also, by default, which is bad. Instead, detect root elevation tools and drop the uid/gid of the child ninja process back to the original invoking user before doing anything.
2023-02-20minstall: rework root elevation prompt for extensibility and behaviorEli Schwartz2-0/+23
There's a couple issues with the current approach: - pkexec is an unusual elevation method, the standard is sudo - it tries to elevate even in automated workflows - the user may not want to automatically rerun as root, that might be badly behaved Do some upfront checks instead, first to make sure it even makes sense to try becoming root, and then to ask the user "do you really want this". Also check for a couple common approaches to root elevation, including doas. Fixes #7345 Fixes #7809
2023-02-16docs/prebuilt: Add an example of how to use a wrap fileDylan Baker1-0/+27
When using a pre-built library
2023-02-16docs/prebuilt: add some sanity checking to the example.Dylan Baker1-0/+5
Instead of just giving a note about about how this is best practice, actually do it.
2023-02-16docs/prebuilt: use meson.override_dependency()Dylan Baker1-3/+5
2023-02-15interpreter: add FeatureOption.enable_if and .disable_ifDylan Baker1-0/+77
This adds two new methods, that are conceptually related in the same way that `enable_auto_if` and `disable_auto_if` are. They are different however, in that they will always replace an `auto` value with an `enabled` or `disabled` value, or error if the feature is in the opposite state (calling `feature(disabled).enable_if(true)`, for example). This matters when the feature will be passed to dependency(required : …)`, which has different behavior when passed an enabled feature than an auto one. The `disable_if` method will be controversial, I'm sure, since it can be expressed via `feature.require()` (`feature.require(not condition) == feature.disable_if(condition)`). I have two defences of this: 1) `feature.require` is difficult to reason about, I would expect require to be equivalent to `feature.enable_if(condition)`, not to `feature.disable_if(not condition)`. 2) mixing `enable_if` and `disable_if` in the same call chain is much clearer than mixing `require` and `enable_if`: ```meson get_option('feat') \ .enable_if(foo) \ .disable_if(bar) \ .enable_if(opt) ``` vs ```meson get_option('feat') \ .enable_if(foo) \ .require(not bar) \ .enable_if(opt) ``` In the first chain it's immediately obvious what is happening, in the second, not so much, especially if you're not familiar with what `require` means.
2023-02-15interpreter: add a feature.enable_auto_ifDylan Baker1-0/+4
It's always been strange to me we don't have an opposite method of the `disable_auto_if` method, but I've been pressed to find a case where we _need_ one, because `disable_auto_if` can't be logically contorted to work. I finally found the case where they're not equivalent: when you don't want to convert to a boolean: ```meson f = get_option('feat').disable_auto_if(not foo) g = get_option('feat').enable_auto_if(foo) dep1 = dependency('foo', required : f) dep2 = dependency('foo', required : g) ```
2023-02-15preprocess: Add dependencies kwargXavier Claessens1-0/+6
2023-02-14allow install script to run in dry-run modeCharles Brunet1-0/+8
2023-02-01add cc.has_function_attribute('vector_size')Dudemanguy1-0/+3
2023-01-29Users.md: add @dcantrell /bsdutilsandy59951-0/+1
2023-01-20docs: Qt compile_moc() parameter errorgroveer1-1/+1
"extra_arguments" should be "extra_args"
2023-01-20Deprecate passing strings to non-string optionsDylan Baker1-0/+9
Currently Meson allow the following (Muon does not): ```meson option('foo', type : 'boolean', value : 'true') option('bar', type : 'integer', value : '42') ``` This is possibly a holdover from very old code, but it's a bad idea and we should stop doing it. This deprecation is the first stop on that journey.
2023-01-18doc: Fix typo in release notesXavier Claessens1-1/+1
2023-01-18Fix typo in doc of sourceset moduleYue Yang1-1/+1
2023-01-18devenv: Allow dumping into file and select a formatXavier Claessens2-3/+25
It is often more useful to generate shell script than dumping to stdout. It is also important to be able to select the shell format. Formats currently implemented: - sh: Basic VAR=prepend_value:$VAR - export: Same as 'sh', but also export VAR - vscode: Same as 'sh', but without substitutions because they don't seems to work. To be used in launch.json's envFile.
2023-01-10docs: Add ld64.lld to linker reference tableDylan Baker1-0/+1
I forgot to ask the original author to add this to the original MR (#11243)
2023-01-04Users.md: add slapt-getandy59951-0/+1
@jaos please review
2023-01-04clang-cl: supports /std:c++20 now.Luke Elliott1-0/+3
See https://github.com/llvm/llvm-project/commit/a8f75d49
2023-01-04document declare_dependency(object: ...)Paolo Bonzini1-0/+5
2023-01-04allow passing generated objects in the "objects" keyword argumentPaolo Bonzini1-0/+6
Generated objects can already be passed in the "objects" keyword argument as long as you go through an extract_objects() indirection. Allow the same even directly, since that is more intuitive than having to add them to "sources". Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-12-27add builtin option to install licensesEli Schwartz2-0/+9
Unless `meson.install_dependency_manifest()` is explicitly used, this will cause a default implied one to be installed.
2022-12-27add license_files kwarg to projectEli Schwartz1-0/+5
Hook this up to installed dependency manifests. This is often needed above and beyond just an SPDX string -- e.g. many licenses have custom copyright lines.
2022-12-27docs: update IDE-integrations [skip-ci]Stephan Lachnit1-4/+2
- change asabil.meson to vscode-meson - remove unmaintained Meson-UI and Meson Cmake Wrapper - remove note that Ecplise CDT support is experimental
2022-12-27docs: add mmeson to IDE integrations [skip-ci]Stephan Lachnit1-0/+1
2022-12-23Created release note page for 1.0.0.Jussi Pakkanen10-68/+85
2022-12-22Users.md: add i3Oliver Kraitschy1-0/+1
2022-12-19Users.md: Add PostgreSQLAmit D1-0/+1
2022-12-14docs: update description of supported functions for feature optionsEli Schwartz1-3/+7
We support these for a couple more things now.
2022-12-12Fixing typosAndreas Deininger4-4/+4
Convert http to https in some links
2022-12-12Merge pull request #11071 from tristan957/java-moduleJussi Pakkanen2-0/+49
Java module 1.0.0 updates
2022-12-11DOCS: Rust-module: Remove note about unstable APIEwout ter Hoeven1-2/+0
Remove the note about the unstable API of the Rust module, since it's no longer unstable as of Meson 1.0.0.
2022-12-11Rename java.generate_native_headers to java.native_headersTristan Partin2-0/+48
This follows the Meson naming scheme which typically leaves off a verb like generate.
2022-12-11Remove java.generate_native_headerTristan Partin1-0/+1
This API existed for 2 minor releases and was worthless for pretty much every usecase.
2022-12-11Merge pull request #11024 from dcbaker/submit/bindgen-dependenciesJussi Pakkanen2-1/+7
Add a `dependencies` keyword argument to bindgen
2022-12-09Merge pull request #10990 from xclaesse/devenvJussi Pakkanen2-0/+17
devenv: various improvements
2022-12-07devenv: Document recent changesXavier Claessens2-0/+17
2022-12-06interpreter: compiler: Allow array for the prefix kwargMarvin Scholz1-0/+18