KApiDox

Description of the metainfo.yml syntax

The name is the folder name. The fancyname is the project name used in CMake.

Each group must contain one and only one library with the group_info block. If more are defined, the behavior is unknown.

Be sure to to set public_lib to true, or the library will be ignored. Most of the other keys are optionals. See below for a simplier example.

All possible keys.

1 description: Library doing X and Y
2 fancyname: The FancyName # optional, else replaced by the `project()` value of the `CMakeLists.txt`
3 repo_id: klib # optional, defaults to base name of directory with the metainfo.yaml file
4 maintainer: ochurlaud # optional, replaced by The KDE Community
5 group: frameworks # optional
6 subgroup: tier 1 # optional, a group must be defined
7 type: functional # optional
8 logo: relative/path/to/logo.png # Used only if not part of a group, defaults to logo.png if present
9 platforms: # optional, name accepted: all, Linux, FreeBSD, Windows, macOS, Android
10  - name: Linux
11  note: Functional only with running BlueZ 5 # optional
12 public_lib: true # if not defined, the library is ignored
13 public_source_dirs: # optional, default to src, must be a list
14  - src1
15  - src2
16 public_doc_dir: docs # optional, default to docs
17 public_example_dirs: examples # optional, default to examples, must be a list
18 
19 portingAid: true/false # optional, default to false
20 deprecated: true/false # optional, default to false
21 libraries: KF5::MyLib # optional
22 
23 libraries: # optional
24  - qmake: BluezQt
25  cmake: KF5::BluezQt
26 cmakename: KF5BluezQt # optional
27 
28 irc: kde # optional, overwrite group field, if both not defined, default to kde-devel
29 mailinglist: mylib-dev # optional, overwrite group field, if both not defined, default to kde-devel
30 
31 group_info: # optional, only once per group
32  name: frameworks # optional, else the name is defined by the 'group' key above.
33  fancyname: The KDE Frameworks
34  maintainer: dfaure
35  irc: kde-devel
36  mailinglist: kde-core-devel
37  platforms:
38  - Linux
39  - Windows (partial)
40  - macOS (partial)
41  description: Providing everything from simple utility classes to ..
42  logo: relative/path/to/logo.png # optional, defaults to logo.png if present
43  long_description: # optional, one item per paragraph, html authorized
44  - The KDE Frameworks build on the <a href="https://www.qt.io">Qt
45  framework</a>, providing everything from simple utility classes (such as
46  those in KCoreAddons) to integrated solutions for common requirements of
47  desktop applications (such as KNewStuff, for fetching downloadable add-on
48  content in an application, or the powerful KIO multi-protocol file access
49  framework).
50  - ....
51  subgroups: # every subgroup must be declared here or will be ignored
52  - name: Tier 1
53  description: Tier 1 frameworks depend only on Qt (and possibly a small number of other third-party libraries), so can easily be used by an Qt-based project.
54  - name: Tier 2
55  description: Tier 2 frameworks additionally depend on tier 1 frameworks, but still have easily manageable dependencies.
56  - ..

Simple example 1

In this case, the library is not part of a group, and the source is in src. If there is no logo, a default one is used.

1 description: Library doing X
2 maintainer: ochurlaud
3 public_lib: true
4 logo: libX.png

Simple example 2

In this case, the libraries X and Y are part of the same group XY, and the source is in src.

libX

1 description: Library doing X
2 maintainer: ochurlaud
3 public_lib: true
4 platforms:
5  - name: Linux
6  - name: Windows
7  note: doesn't work with Windows10
8 group: XY
9 
10 group_info:
11  fancyname: XY Libraries
12  maintainer: arandomguy
13  platforms:
14  - Linux
15  - Windows (partial)
16  description: XY provides ...
17  logo: logo_XY.png
18  long_description:
19  - XY does this and this
20  - If you want to contribute please write to ...

libY

1 description: Library doing Y
2 maintainer: otherrandomguy
3 public_lib: true
4 platforms:
5  - name: Linux
6 group: XY
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Wed Aug 12 2020 22:54:04 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.