You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the main documentation of the Fortran package manager (*fpm*).
39
+
This document serves as developer documentation of *fpm* itself and contains general advice for developing in the *fpm* code base.
40
+
41
+
42
+
## The package manifest
43
+
44
+
The central object describing an *fpm* project is the package manifest ``fpm.toml``.
45
+
The manifest is written in TOML, you can find the TOML specification at the official [TOML homepage](https://toml.io).
46
+
47
+
The ``fpm.toml`` file targets project developers and maintainers to relieve them from writing build files for their packages.
48
+
With the package manifest a central place to collect information about the project is provided.
49
+
It contains the versioning and licensing meta data, as well as the information on external dependencies and the required build-tools or compiler settings.
50
+
51
+
The manifest format specific to *fpm* projects is documented in the [manifest reference](page/Manifest.html).
52
+
53
+
@Note For a more practical but less complete guide on creating *fpm* projects see the [packaging guide](page/Packaging.html).
54
+
55
+
The details of the TOML parsing are implemented with using the [tomlf](https://toml-f.github.io/toml-f) module.
56
+
Generally, the interface to all TOML related functions for *fpm* is found in the proxy module [[fpm_toml]].
57
+
58
+
All the manifest types are bundled in [[fpm_manifest]].
59
+
While the specific subtables for the package configuration are found in the ``src/fpm/manifest`` directory, they should be reexported in the [[fpm_manifest]] module if they should be elsewhere in *fpm*.
60
+
61
+
62
+
## Command line interface
63
+
64
+
*fpm* is mainly used as a command line tool.
65
+
To work with an *fpm* project as a user you can completely rely on the command line.
66
+
67
+
The command line interface is build with the [M_CLI2](https://github.com/urbanjost/M_CLI2) module and can be found in [[fpm_command_line]].
68
+
69
+
70
+
## Generating this documentation
71
+
72
+
This documentation is generated by [FORD](https://github.com/Fortran-FOSS-Programmers/FORD).
73
+
For more details on the [project file](https://github.com/fortran-lang/fpm/docs.md) and the comment markup in the source code visit the [FORD documentation](https://github.com/Fortran-FOSS-Programmers/ford/wiki).
0 commit comments