diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/docs/markdown/Feature-autodetection.md | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/docs/markdown/Feature-autodetection.md')
-rw-r--r-- | meson/docs/markdown/Feature-autodetection.md | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/meson/docs/markdown/Feature-autodetection.md b/meson/docs/markdown/Feature-autodetection.md new file mode 100644 index 000000000..4d366d939 --- /dev/null +++ b/meson/docs/markdown/Feature-autodetection.md @@ -0,0 +1,39 @@ +--- +short-description: Auto-detection of features like ccache and code coverage +... + +# Feature autodetection + +Meson is designed for high productivity. It tries to do as many things +automatically as it possibly can. + +Ccache +-- + +[Ccache](https://ccache.dev/) is a cache system designed to make +compiling faster. When you run Meson for the first time for a given +project, it checks if Ccache is installed. If it is, Meson will use it +automatically. + +If you do not wish to use Ccache for some reason, just specify your +compiler with environment variables `CC` and/or `CXX` when first +running Meson (remember that once specified the compiler can not be +changed). Meson will then use the specified compiler without Ccache. + +Coverage +-- + +When doing a code coverage build, Meson will check for existence of +the binaries `gcovr`, `lcov` and `genhtml`. If version 3.3 or higher +of the first is found, targets called *coverage-text*, *coverage-xml* +and *coverage-html* are generated. Alternatively, if the latter two +are found, only the target *coverage-html* is generated. Coverage +reports can then be produced simply by calling e.g. `meson compile +coverage-xml`. As a convenience, a high-level *coverage* target is +also generated which will produce all 3 coverage report types, if +possible. + +Note that generating any of the coverage reports described above +requires the tests (i.e. `meson test`) to finish running so the +information about the functions that are called in the tests can be +gathered for the report. |