summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2022-04-07docs: Document argument flatteningDaniel Mensinger
2022-04-07docs: Fix [[true]] --> `true`Daniel Mensinger
2022-04-03Document and test env vars a bit betterJohn Ericson
2022-04-01docs: fix inaccurate description of command targetsEli Schwartz
It isn't possible to have one target depend on a run_target, because those produce no outputs and are always out of date. But the docs didn't specify which types of target are valid here. Correct the docs to align with the implementation. Fixes #10198
2022-03-31docs: note that find_program accepts file objectsEli Schwartz
This was implemented in commit 280346da3ac5904ec097afe89ef45ad34bd4a173 but never properly documented (it predated the version-controlled docs).
2022-03-31docs: correct documentation of shared_library soversionsEli Schwartz
We have always accepted an int here as an alternative to a string, but the initial documentation thought it was only a string.
2022-03-30Add new debug() functionMarvin Scholz
Adds a new debug() function that can be used in the meson.build to log messages to the meson-log.txt that will not be printed to stdout when configuring the project.
2022-03-27Fix typoÖnder Görmez
2022-03-27docs: add missing docs for new pkgconfig featureEli Schwartz
Added in commit 6240920c213fb76b4e4be8b6b59ae3346cbbcf77 and documented in release notes but not in module docs.
2022-03-24Make compilers list per subprojectXavier Claessens
Previously subprojects inherited languages already added by main project, or any previous subproject. This change to have a list of compilers per interpreters, which means that if a subproject does not add 'c' language it won't be able to compile .c files any more, even if main project added the 'c' language. This delays processing list of compilers until the interpreter adds the BuildTarget into its list of targets. That way the interpreter can add missing languages instead of duplicating that logic into BuildTarget for the cython case.
2022-03-22Fix missing ' in custom_target docsrusty-snake
2022-03-22docs/rust: fix markdown titleDylan Baker
VSCode is perfectly happy with the trailing `---`, hotdoc only likes `...` apparently.
2022-03-22interpreter: Make compiler options per-subprojectXavier Claessens
2022-03-22Add ability to add resources to jarsTristan Partin
Previously Meson lacked the ability to add resources to jar files. Fixes #9945
2022-03-21Prepare the 0.62.0 release.Jussi Pakkanen
2022-03-20docs: fix incorrect default for test is_parallelEli Schwartz
In the original RefMan 2.0 implementation, this incorrectly started claiming that the default is false. Fixes #10155
2022-03-15Revert "devenv: Set PYTHONPATH where we install python modules"Eli Schwartz
This reverts commit 79c6075b560dbf1c3e4e0b30f1c472dc2086421e. # Conflicts: # docs/markdown/snippets/devenv.md # mesonbuild/modules/python.py # test cases/unit/91 devenv/test-devenv.py PYTHONPATH cannot be reliably determined. The standard use case for installing python modules with Meson is mixed pure sources (at least `__init__.py`) and compiled extension_modules or configured files. Unfortunately that doesn't actually work because python will not load the same package hierarchy from two different directories, one a source directory and one a (mandatory) out of tree build directory. (It kind of can, but you need to do what this test case accidentally stumbled upon, which is namespace packages. Namespace packages are a very specific use case and you are NOT SUPPOSED to use them outside that use case, so people are not going to use them just to circumvent Meson devenv stuff as that would have negative install-time effects.) Adding PYTHONPATH anyway will just lead to documentation commitments which we cannot actually uphold, and confusing issues at time of use because some imports *will* work... and some will *not*. The end result will be a half-created tree of modules which just doesn't work together at all, but because it partially works, users attempting to debug it will spend time wondering why parts of it do import. For any case where the automatic devenv would work correctly, it will also work correctly to use `meson.add_devenv()` a single time, which is very easy to manually get correct and doesn't provide any significant value to automate. In the long run, an uninstalled python package environment will require "editable installs" support.
2022-03-13Merge pull request #9339 from dcbaker/submit/structured_sourcesJussi Pakkanen
Structured Sources
2022-03-09Add new env2mfile command.Jussi Pakkanen
2022-03-09Move dataonly pkgconfig file to datadir/pkgconfigTristan Partin
dataonly files are architecture independent (lib vs lib64 for example). Fixes #9902
2022-03-09install: Add --strip optionXavier Claessens
2022-03-08Revert "Add new env2cross command."Eli Schwartz
This reverts commit e257a870fe5e676c55a2282b0e7fc9be34bba2ac. The PR adding this command had infinitely hanging CI, and now that it is merged to master we cannot get any CI on any PR to succeed.
2022-03-08Add new env2cross command.Jussi Pakkanen
2022-03-07docs: add forgotten documentation for the new openssl dependencyEli Schwartz
2022-03-07docs: document the rust_crate_type build_target keywordDylan Baker
2022-03-07Add support for rust proc-macro cratesDylan Baker
2022-03-07docs: Add a document on using Rust in MesonDylan Baker
This is hardly complete, but it's a start.
2022-03-07docs: Add docs for structured_sourcesDylan Baker
2022-03-06find_program: add a version() method to match the one for dependenciesEli Schwartz
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-03-06i18n.merge_file: do not disable in the absence of gettext toolsEli Schwartz
Disabling targets because the tools used to build them aren't available is a pretty suspicious thing to do. Users who want this are probably, in general, advised to check themselves whether it is possible to build those targets with find_program(..., required: false) The i18n.gettext() invocation is a bit unusual because the product of running it is non-critical files, specifically, translation catalogs. If users don't have the tools needed to build them, they may not be able to use them either, because perhaps they have NLS disabled on their platform or it's difficult to put it in the bootstrap path. So, for this reason, it was made non-fatal and the message catalogs are just not created, and the resulting build is still perfectly usable *unless* you want to use it in another language, at which point it "works" but the text is all inscrutable to the end user, and that's a feature of the target platform. That's an acceptable tradeoff for translation catalogs. It is NOT an acceptable tradeoff for merge_file, which produces desktop files or MIME database catalogs or other files which have crucial roles to perform, without which the software in question simply doesn't work at all. In such cases, this just fails to install crucial files, users report bugs to the project in question, and the project adds `find_program('xgettext')` to guarantee the hard error due to lack of confidence in Meson. Fixes #6165 Fixes #8436
2022-03-06wayland module: Allow building both client and server sidesXavier Claessens
- Change `scope` kwarg to `public` boolean default to false. - Change `side` kwarg to `client` and `server` booleans. - Document returned values - Aggregate in a single unit test because have lots of small tests increases CI time. Fixes: #10040.
2022-03-04[skip ci] fix syntax typoDarren Ng
2022-03-04Add modules kwarg to JNI system depTristan Partin
This allows someone to link against libjvm.so and libjawt.so.
2022-03-03add release snippet for declare_dependencyRemi Thebault
2022-03-03Document D features in `declare_dependency`Remi Thebault
2022-03-02document and raise an error for disallowed combination of install_headers argsEli Schwartz
It makes no sense to specify both: - install_dir, which overrides the -Dincludedir= builtin option - subdir, which suffixes the -Dincludedir= builtin option We've always silently ignored the subdir in this case, which is really surprising if someone actually passed it and expected it to do something. We also confusingly didn't say anything in the documentation about it. Document that the options are incompatible, and explicitly check to see if they are both passed -- if so, raise an error message pointing out that only install_dir should be used. Fixes #10046
2022-03-02Rename JDK system dep to JNITristan Partin
JNI is a more apt name because it currently only supports the JNI. I also believe that CMake uses the terminology JNI here as well. JNI is currently the only way to interact with the JVM through native code, but there is a project called "Project Panama" which aims to be another way for native code to interact with the JVM.
2022-03-01Deprecate java.generate_native_header() in favor of ↵Tristan Partin
java.generate_native_headers() After implementing a much more extensive Java native module than what currently exists in the tests, I found shortcomings. 1. You need to be able to pass multiple Java files. 2. Meson needs more information to better track the generated native headers. 3. Meson wasn't tracking the header files generated from inner classes. This new function should fix all the issues the old function had with room to grow should more functionality need to be added. What I implemented here in this new function is essentially what I have done in the Heterogeneous-Memory Storage Engine's Java bindings.
2022-02-28Allow setting method/separator in environment() and meson.add_devenv()Xavier Claessens
2022-02-28devenv: Add --dump optionXavier Claessens
It prints all envorinmente variables that have been modified. Can be used by shell scripts that wish to setup their environment themself.
2022-02-28devenv: Setup GDB auto-load scriptsXavier Claessens
When the project instals GDB helper scripts, copy them into meson-private directory with the right tree layout and write a .gdbinit script to load them automatically.
2022-02-28devenv: Source bash completion scriptsXavier Claessens
2022-02-28devenv: Set PYTHONPATH where we install python modulesXavier Claessens
2022-02-28doc: Fix spelling developper->developerXavier Claessens
Mistaken from French développeur.
2022-02-28Change jar() default install dirTristan Partin
The previous install dir seemed incorrect when looking at various Linux distributions.
2022-02-28docs: correct the shaderc documentationDudemanguy
The documentation on how shaderc is checked in meson was quite behind. Update it to mention that pkg-config is the default and preferred method of checking. Also be specific about what order everything is checked in since shaderc is confusing.
2022-02-27modules/wayland: Add unstable_wayland moduleMark Bolhuis
2022-02-27cmake: configure_package_config_file can now take a dictAndrea Pappacoda
2022-02-22python module: add option to specify a python environment to install toEli Schwartz
The default behavior of installing relative to prefix may be unexpected, and is definitely wrong in many cases. Give users control in order to specify that yes, they actually want to install to a venv. This is particularly useful for projects that use meson as a build system for a python module, where *all* files shall be installed into the python site-packages.
2022-02-20add all supported arguments in docs for summary()Stone Tickle