aboutsummaryrefslogtreecommitdiff
path: root/docs/yaml/objects
AgeCommit message (Collapse)AuthorFilesLines
2023-09-09clike compilers: fix cross_* functions' includeMoody Liu1-2/+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/+11
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-08-18docs: Provide example for feature.disable_auto_ifJan Janssen1-0/+14
2023-08-16Fix some random capitalization in feature.yamlTristan Partin1-3/+3
2023-08-11docs: Add more feature truth tablesJan Janssen1-10/+28
These are much easier to understand at a glance than free-form text.
2023-08-07Compiler: Add werror kwarg to compiles(), links() and run() methodsXavier Claessens1-0/+11
Fixes: #5399
2023-08-05fixup: since: 1.1.0 -> 1.3.0Milan Hauth1-1/+1
2023-08-05compiler: Add required keyword to has_* methodsXavier Claessens1-8/+35
add the "required" keyword to the functions has_function has_type has_member has_members has_argument has_multi_arguments has_link_argument has_multi_link_argument has_function_attribute Co-authored-by: Milan Hauth <milahu@gmail.com>
2023-06-21Clarify `environment` docs.Paolo Borelli1-3/+2
The object is not used only for tests, but also for `custom_target` etc.
2023-05-23docs: Fix some typos in feature option examplesNirbheek Chauhan1-2/+2
2023-04-11fix various spelling issuesJosh Soref3-4/+4
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-03-28doc: Fix some broken linksXavier Claessens1-2/+2
2023-02-15interpreter: add FeatureOption.enable_if and .disable_ifDylan Baker1-0/+60
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/+17
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/+4
2023-01-04document declare_dependency(object: ...)Paolo Bonzini1-2/+2
2022-12-21doc: Add missing include_directories kwarg to compiler.preprocess()Xavier Claessens1-0/+2
Fixes: #11202
2022-12-14docs: clarify the semantics of the required: kwarg everywhereEli Schwartz1-4/+9
Link to feature options consistently, and point out that it controls "whether" the function finds what it's trying to find. This clues people in to the fact that disabled features exist.
2022-12-06interpreter: compiler: Allow array for the prefix kwargMarvin Scholz1-5/+7
2022-11-30docs: clarify prog.full_path even moreEli Schwartz1-6/+8
The previous description update was lacking an example of why external_program cares about inter-target dependencies.
2022-11-30docs: clarify that prog.full_path has potentially valid usesEli Schwartz1-4/+10
Claiming that "it should literally never be used ever no matter what" is confusing and wrong -- it's definitely useful sometimes, but does result in downsides, like not tracking inter-target dependencies correctly. Ref: #10901
2022-10-23Merge pull request #10916 from xclaesse/preprocessJussi Pakkanen1-0/+22
Add cc.preprocess() method
2022-10-23Add doc and release notes for cc.preprocess()Xavier Claessens1-0/+22
2022-10-23Fix typos in docsElliott Sales de Andrade1-3/+3
2022-04-07docs: YAML: Add `arg_flattening: false` where requiredDaniel Mensinger1-0/+2
2022-04-07docs: Fix [[true]] --> `true`Daniel Mensinger1-2/+2
2022-03-07docs: Add docs for structured_sourcesDylan Baker1-0/+3
2022-03-06find_program: add a version() method to match the one for dependenciesEli Schwartz1-0/+8
It is often useful to check the found version of a program without checking whether you can successfully find `find_program('foo', required: false, version: '>=XXX')`
2022-01-18interpreterobjects: deprecated passing a number to configuration_data.set10Dylan Baker2-3/+12
This is currently allowed, and is used in at least a few projects. It was not intended to work or documented, but it does and since it is in use a full deprecation period must be used. A warning has also been added for values < 0, which have surprising behavior.
2022-01-14docs/dep.yaml: davault -> defaultDylan Baker1-1/+1
2021-11-21Clarify some wording for compiler.first_supported_argumentLuke Drummond1-2/+3
After a discussion implementing this for muon [1] and clarification on IRC on Meson's behaviour. [1] https://lists.sr.ht/~lattis/muon/patches/26722
2021-11-09docs: fix refman 2.0 regression in correctly describing ↵Eli Schwartz1-2/+37
find_library(has_headers) All kwargs inherited from has_header need to be prefixed `header_` so we cannot just do straight inheritance. And the part of the description that highlighted the way kwargs are derived and evolved, went entirely missing. Fixes #9551
2021-11-09docs: fix some spelling typosEli Schwartz1-1/+1
2021-10-21Fix typosHofer-Julian1-1/+1
"seperator" -> "separator"
2021-10-11docs: fix a typoed arg name and another missing argEli Schwartz1-1/+5
More stuff that got overlooked during the big refman migration.
2021-10-07docs: restore build_target method documentation which went missingEli Schwartz1-0/+40
In the refman rewrite, these functions vanished. I noticed this when I went looking at the docs for extract_all_objects(), or should I say I tried to go looking.
2021-10-04Minor fixupsDaniel Mensinger2-3/+38
2021-10-03docs: Update YAML docs after rebaseDaniel Mensinger1-1/+7
2021-10-03docs: Add the YAML Reference manualDaniel Mensinger26-0/+1300