diff options
author | Filipe LaÃns <lains@riseup.net> | 2021-08-17 13:38:48 +0100 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-09-06 18:10:55 +0200 |
commit | af8b55d49b64e72dbefbd40d613b93f56d17b855 (patch) | |
tree | ff763c3346d5b7f8f87f41e3f0cb7348ded1a47e /docs | |
parent | be3bd9ea64570a468d482a8fc70e3d8474f77286 (diff) | |
download | meson-af8b55d49b64e72dbefbd40d613b93f56d17b855.zip meson-af8b55d49b64e72dbefbd40d613b93f56d17b855.tar.gz meson-af8b55d49b64e72dbefbd40d613b93f56d17b855.tar.bz2 |
mintro: add installed_plan
Signed-off-by: Filipe LaÃns <lains@riseup.net>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/markdown/IDE-integration.md | 72 |
1 files changed, 62 insertions, 10 deletions
diff --git a/docs/markdown/IDE-integration.md b/docs/markdown/IDE-integration.md index 6f0b629..848b812 100644 --- a/docs/markdown/IDE-integration.md +++ b/docs/markdown/IDE-integration.md @@ -32,16 +32,17 @@ to be the last file written. The `meson-info` directory should contain the following files: -| File | Description | -| ------------------------------ | ------------------------------------------------------------------- | -| `intro-benchmarks.json` | Lists all benchmarks | -| `intro-buildoptions.json` | Contains a full list of Meson configuration options for the project | -| `intro-buildsystem_files.json` | Full list of all Meson build files | -| `intro-dependencies.json` | Lists all dependencies used in the project | -| `intro-installed.json` | Contains mapping of files to their installed location | -| `intro-projectinfo.json` | Stores basic information about the project (name, version, etc.) | -| `intro-targets.json` | Full list of all build targets | -| `intro-tests.json` | Lists all tests with instructions how to run them | +| File | Description | +| ------------------------------ | ----------------------------------------------------------------------------- | +| `intro-benchmarks.json` | Lists all benchmarks | +| `intro-buildoptions.json` | Contains a full list of Meson configuration options for the project | +| `intro-buildsystem_files.json` | Full list of all Meson build files | +| `intro-dependencies.json` | Lists all dependencies used in the project | +| `intro-installed.json` | Contains mapping of files to their installed location | +| `intro-install_plan.json` | Dictionary of data types with the source files and their installation details | +| `intro-projectinfo.json` | Stores basic information about the project (name, version, etc.) | +| `intro-targets.json` | Full list of all build targets | +| `intro-tests.json` | Lists all tests with instructions how to run them | The content of the JSON files is further specified in the remainder of this document. @@ -119,6 +120,57 @@ The following table shows all valid types for a target. | `run` | A Meson run target | | `jar` | A Java JAR target | + +### Install plan + +The `intro-install_plan.json` file contains a list of the files that are going +to be installed on the system. + +The data contains a list of files grouped by data type. Each file maps to a +dictionary containing the `destination` and `tag` keys, with the key being the +file location at build time. `destination` is the destination path using +placeholders for the base directories. New keys may be added in the future. + +```json +{ + "targets": { + "/path/to/project/builddir/some_executable": { + "destination": "{bindir}/some_executable", + "tag": "runtime" + }, + "/path/to/project/builddir/libsomelib.so": { + "destination": "{libdir_shared}/libsomelib.so", + "tag": "runtime" + } + }, + "data": { + "/path/to/project/some_data": { + "destination": "{datadir}/some_data", + "tag": null + } + }, + "headers": { + "/path/to/project/some_header.h": { + "destination": "{includedir}/some_header.h", + "tag": "devel" + } + } +} +``` + +Additionally, the `intro-installed.json` file contains the mapping of the +file path at build time to the absolute system location. + +```json +{ + "/path/to/project/builddir/some_executable": "/usr/bin/some_executable", + "/path/to/project/builddir/libsomelib.so": "/user/lib/libsomelib.so", + "/path/to/project/some_data": "/usr/share/some_data", + "/path/to/project/some_header.h": "/usr/include/some_header.h" +} +``` + + ### Using `--targets` without a build directory It is also possible to get most targets without a build directory. |