summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* docs/prebuilt: use meson.override_dependency()Dylan Baker2023-02-161-3/+5
|
* interpreter: add FeatureOption.enable_if and .disable_ifDylan Baker2023-02-152-0/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* interpreter: add a feature.enable_auto_ifDylan Baker2023-02-152-0/+21
| | | | | | | | | | | | | | | | 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) ```
* docs: add description of license_files kwargEli Schwartz2023-02-151-0/+16
| | | | | Added in commit 2fa074917597fea0cf3332c6620d3414034825e4 but I forgot to document it.
* preprocess: Add dependencies kwargXavier Claessens2023-02-152-0/+10
|
* allow install script to run in dry-run modeCharles Brunet2023-02-142-0/+20
|
* docs: Add cython to the languages accepted by project()Daniele Nicolodi2023-02-101-2/+3
| | | | Fixes #11373.
* add cc.has_function_attribute('vector_size')Dudemanguy2023-02-011-0/+3
|
* Users.md: add @dcantrell /bsdutilsandy59952023-01-291-0/+1
|
* docs: Qt compile_moc() parameter errorgroveer2023-01-201-1/+1
| | | "extra_arguments" should be "extra_args"
* Deprecate passing strings to non-string optionsDylan Baker2023-01-201-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.
* doc: Fix typo in release notesXavier Claessens2023-01-181-1/+1
|
* Fix typo in doc of sourceset moduleYue Yang2023-01-181-1/+1
|
* devenv: Allow dumping into file and select a formatXavier Claessens2023-01-182-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.
* docs: Add ld64.lld to linker reference tableDylan Baker2023-01-101-0/+1
| | | | | I forgot to ask the original author to add this to the original MR (#11243)
* Users.md: add slapt-getandy59952023-01-041-0/+1
| | | | @jaos please review
* clang-cl: supports /std:c++20 now.Luke Elliott2023-01-041-0/+3
| | | | See https://github.com/llvm/llvm-project/commit/a8f75d49
* document declare_dependency(object: ...)Paolo Bonzini2023-01-043-2/+14
|
* allow passing generated objects in the "objects" keyword argumentPaolo Bonzini2023-01-042-2/+11
| | | | | | | | | 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>
* add builtin option to install licensesEli Schwartz2022-12-273-0/+13
| | | | | Unless `meson.install_dependency_manifest()` is explicitly used, this will cause a default implied one to be installed.
* add license_files kwarg to projectEli Schwartz2022-12-272-2/+15
| | | | | | 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.
* docs: update IDE-integrations [skip-ci]Stephan Lachnit2022-12-271-4/+2
| | | | | | - change asabil.meson to vscode-meson - remove unmaintained Meson-UI and Meson Cmake Wrapper - remove note that Ecplise CDT support is experimental
* docs: add mmeson to IDE integrations [skip-ci]Stephan Lachnit2022-12-271-0/+1
|
* Created release note page for 1.0.0.Jussi Pakkanen2022-12-2311-68/+86
|
* Users.md: add i3Oliver Kraitschy2022-12-221-0/+1
|
* fix build_target(objects: ...) documentationPaolo Bonzini2022-12-211-4/+4
| | | | | | | | | | | The documentation for build_target(...) does not list file or str as the possible types for the "objects" keyword argument, even though in theory the argument is meant for prebuild object files that are part of the sources. Of course that is only the theory, because an ExtractedObjects object is probably used a lot more than a file in the source tree. But at least make the reference manual's typing information accurate.
* doc: Add missing include_directories kwarg to compiler.preprocess()Xavier Claessens2022-12-211-0/+2
| | | | Fixes: #11202
* Users.md: Add PostgreSQLAmit D2022-12-191-0/+1
|
* docs: clarify the semantics of the required: kwarg everywhereEli Schwartz2022-12-143-8/+23
| | | | | | 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.
* docs: simplify the documentation on required kwarg for subprojectEli Schwartz2022-12-141-4/+1
| | | | It's a clone of dependency() anyway.
* docs: update description of supported functions for feature optionsEli Schwartz2022-12-141-3/+7
| | | | We support these for a couple more things now.
* Fixing typosAndreas Deininger2022-12-124-4/+4
| | | | Convert http to https in some links
* Merge pull request #11071 from tristan957/java-moduleJussi Pakkanen2022-12-122-0/+49
|\ | | | | Java module 1.0.0 updates
| * Rename java.generate_native_headers to java.native_headersTristan Partin2022-12-112-0/+48
| | | | | | | | | | This follows the Meson naming scheme which typically leaves off a verb like generate.
| * Remove java.generate_native_headerTristan Partin2022-12-111-0/+1
| | | | | | | | | | This API existed for 2 minor releases and was worthless for pretty much every usecase.
* | DOCS: Rust-module: Remove note about unstable APIEwout ter Hoeven2022-12-111-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.
* Merge pull request #11024 from dcbaker/submit/bindgen-dependenciesJussi Pakkanen2022-12-112-1/+7
|\ | | | | Add a `dependencies` keyword argument to bindgen
| * modules/rust: Add support for dependencies in bindgenDylan Baker2022-12-052-1/+7
| | | | | | | | | | This is needed for cases where we need external C headers, which are passed to clang.
* | doc: Add date in release notesXavier Claessens2022-12-091-0/+5
| |
* | Merge pull request #10990 from xclaesse/devenvJussi Pakkanen2022-12-092-0/+17
|\ \ | | | | | | devenv: various improvements
| * | devenv: Document recent changesXavier Claessens2022-12-072-0/+17
| |/
* | interpreter: compiler: Allow array for the prefix kwargMarvin Scholz2022-12-062-5/+25
| |
* | docs: Add missing import to the windows module example.Angelo Haller2022-12-061-0/+1
|/
* modules/rust: Add support for string include_directoriesDylan Baker2022-12-052-4/+8
| | | | Which we support for basically every other case, but not this one.
* Users.md:add aawordsearch projectandy59952022-12-051-0/+1
|
* docs: change old SourceForge link to GitHubTony Finch2022-12-051-4/+4
| | | | | | | | I accidentally followed a very old link and was briefly discombobulated. To save other people from this mistake, use the current location of the Meson repository, and tweak the surrounding text so it is more clear that it was written nearly 10 years ago. Signed-off-by: Tony Finch <dot@dotat.at>
* docs: clarify prog.full_path even moreEli Schwartz2022-11-301-6/+8
| | | | | The previous description update was lacking an example of why external_program cares about inter-target dependencies.
* docs: clarify that prog.full_path has potentially valid usesEli Schwartz2022-11-301-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
* Add warning_level=everythingDavid Robillard2022-11-273-2/+7
| | | | | | | | | | | | | | | | | | | | | | Adds a new maximum warning level that is roughly equivalent to "all warnings". This adds a way to use `/Wall` with MSVC (without the previous broken warning), `-Weverything` with clang, and almost all general warnings in GCC with strictness roughly equivalent to clang's `-Weverything`. The GCC case must be implemented by meson since GCC doesn't provide a similar option. To avoid maintenance headaches for meson, this warning level is defined objectively: all warnings are included except those that require specific values or are specific to particular language revisions. This warning level is mainly intended for new code, and it is expected (nearly guaranteed) that projects will need to add some suppressions to build cleanly with it. More commonly, it's just a handy way to occasionally take a look at what warnings are present with some compiler, in case anything interesting shows up you might want to enable in general. Since the warnings enabled at this level are inherently unstable with respect to compiler versions, it is intended for use by developers and not to be set as the default.
* add missing documentation for python installation default pure kwargEli Schwartz2022-11-261-1/+8
|