Derived Types

TypeLocationExtendsDescription
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]] pointers

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

Read more…
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

file_scope_flag fpm_manifest_profile serializable_t

Type storing file name - file scope compiler flags pairs

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 feature_config_t to represent the “default” package feature. The following are now inherited from feature_config_t: name (but for package it’s the package name), description, compiler, os_type (defaults to id_all, OS_ALL for packages) library, executable(:), dependency(:), dev_dependency(:), example(:), test(:), preprocess(:) flags, c_flags, cxx_flags, link_time_flags, requires_features(:)

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 meta data for a profile (now based on features)

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