| Type | Location | Extends | Description |
|---|---|---|---|
| archiver_t | fpm_compiler | serializable_t | Definition of archiver object |
| build_config_t | fpm_manifest_build | serializable_t | Configuration data for build |
| build_progress_t | fpm_backend_output | None | Build progress object |
| build_target_ptr | fpm_targets | None | Wrapper type for constructing arrays of |
| build_target_t | fpm_targets | None | Type describing a generated build target |
| compile_command_t | fpm_compile_commands | serializable_t | Definition of a build command |
| compile_command_table_t | fpm_compile_commands | serializable_t | |
| compiler_t | fpm_compiler | serializable_t | Definition of compiler object |
| console_t | fpm_backend_console | None | Console object |
| dependency_config_t | fpm_manifest_dependency | serializable_t | Configuration meta data for a dependency |
| dependency_node_t | fpm_dependency | dependency_config_t | Dependency node in the projects dependency tree |
| dependency_tree_t | fpm_dependency | serializable_t | Respresentation of a projects dependencies |
| downloader_t | fpm_downloader | None | This type could be entirely avoided but it is quite practical because it can be mocked for testing. |
| enum_descriptor | fpm_git | None | Possible git target |
| error_t | fpm_error | None | Data type defining an error |
| example_config_t | fpm_manifest_example | executable_config_t | Configuation meta data for an example |
| executable_config_t | fpm_manifest_executable | serializable_t | Configuation meta data for an executable |
| feature_collection_t | fpm_manifest_feature_collection | serializable_t | Feature configuration data |
| feature_config_t | fpm_manifest_feature | serializable_t | Feature configuration data |
| fortran_config_t | fpm_manifest_fortran | serializable_t | Configuration data for Fortran |
| fpm_build_settings | fpm_command_line | fpm_cmd_settings | |
| fpm_clean_settings | fpm_command_line | fpm_build_settings | |
| fpm_cmd_settings | fpm_command_line | None | |
| fpm_export_settings | fpm_command_line | fpm_build_settings | Settings for exporting model data |
| fpm_global_settings | fpm_settings | None | |
| fpm_install_settings | fpm_command_line | fpm_build_settings | |
| fpm_model_t | fpm_model | serializable_t | Type describing everything required to build the root package and its dependencies. |
| fpm_new_settings | fpm_command_line | fpm_cmd_settings | |
| fpm_publish_settings | fpm_command_line | fpm_build_settings | |
| fpm_run_settings | fpm_command_line | fpm_build_settings | |
| fpm_test_settings | fpm_command_line | fpm_run_settings | |
| fpm_update_settings | fpm_command_line | fpm_cmd_settings | Settings for interacting and updating with project dependencies |
| git_target_t | fpm_git | serializable_t | Description of an git target |
| install_config_t | fpm_manifest_install | serializable_t | Configuration data for installation |
| installer_t | fpm_installer | None | Declaration of the installer type |
| library_config_t | fpm_manifest_library | serializable_t | Configuration meta data for a library |
| metapackage_config_t | fpm_manifest_metapackages | serializable_t | Configuration data for metapackages |
| metapackage_request_t | fpm_manifest_metapackages | serializable_t | Configuration data for a single metapackage request |
| metapackage_t | fpm_meta_base | None | Type for describing a source file |
| package_config_t | fpm_manifest_package | feature_config_t | Package meta data
Package configuration data - extends a |
| package_t | fpm_model | serializable_t | Type for describing a single package |
| platform_config_t | fpm_manifest_platform | serializable_t | Serializable platform configuration (compiler + OS only) |
| preprocess_config_t | fpm_manifest_preprocess | serializable_t | Configuration meta data for a preprocessor |
| profile_config_t | fpm_manifest_profile | serializable_t | Configuration data for a profile |
| serializable_t | fpm_toml | None | An abstract interface for any fpm class that should be fully serializable to/from TOML/JSON |
| srcfile_t | fpm_model | serializable_t | Type for describing a source file |
| string_t | fpm_strings | None | |
| test_config_t | fpm_manifest_test | executable_config_t | Configuation meta data for an test |
| version_t | fpm_versioning | None |