Procedure | Location | Procedure Type | Description |
---|---|---|---|
add_dependency | fpm_targets | Subroutine | Add pointer to dependeny in target%dependencies |
add_executable_sources | fpm_sources | Subroutine | Add to |
add_sources_from_dir | fpm_sources | Subroutine | Add to |
add_table | fpm_toml | Interface | add_table: fpm interface |
add_target | fpm_targets | Subroutine | Allocate a new target and append to target list |
ar_is_same | fpm_compiler | Function | Check that two archiver_t objects are equal All checks passed! |
assert_pkg_config | fpm_pkg_config | Function | Check whether pkg-config is available on the local system |
bad_name_error | fpm_error | Function | |
basename | fpm_filesystem | Function | Extract filename from path with/without suffix |
build_model | fpm | Subroutine | Constructs a valid fpm model from command line settings and the toml manifest. Add this dependency’s manifest macros |
build_package | fpm_backend | Subroutine | Top-level routine to build package described by |
build_progress_t | fpm_backend_output | Interface | Constructor for build_progress_t |
canon_path | fpm_filesystem | Function | Canonicalize path for comparison * Handles path string redundancies * Does not test existence of path |
change_directory | fpm_os | Subroutine | |
check_and_read_pkg_data | fpm_dependency | Subroutine | |
check_compiler | fpm_compiler | Function | |
check_fortran_source_runs | fpm_compiler | Function | Run a single-source Fortran program using the current compiler Compile a Fortran object Create temporary source file Write contents Compile and link program Run and retrieve exit code |
check_keys | fpm_toml | Subroutine | Check if table contains only keys that are part of the list. If a key is found that is not part of the list, an error is allocated. |
check_modules_for_duplicates | fpm | Subroutine | |
checkout | fpm_git | Subroutine | |
cmd_build | fpm | Subroutine | Dump model to file |
cmd_clean | fpm | Subroutine | Delete the build directory including or excluding dependencies. Can be used to clear the registry cache. |
cmd_export | fpm_cmd_export | Subroutine | Entry point for the export subcommand Read in manifest Export manifest Export dependency tree |
cmd_install | fpm_cmd_install | Subroutine | Entry point for the fpm-install subcommand |
cmd_new | fpm_cmd_new | Subroutine | TOP DIRECTORY NAME PROCESSING see if requested new directory already exists and process appropriately temporarily change to new directory as a test. NB: System dependent |
cmd_publish | fpm_cmd_publish | Subroutine | The |
cmd_run | fpm | Subroutine | |
cmd_update | fpm_cmd_update | Subroutine | Entry point for the update subcommand |
compile_c | fpm_compiler | Subroutine | Compile a C object |
compile_cpp | fpm_compiler | Subroutine | Compile a CPP object |
compile_fortran | fpm_compiler | Subroutine | Compile a Fortran object |
compiler_dump | fpm_compiler | Subroutine | Dump dependency to toml table |
compiler_is_same | fpm_compiler | Function | Check that two compiler_t objects are equal All checks passed! |
compiler_load | fpm_compiler | Subroutine | Read dependency from toml table (no checks made at this stage) |
compiler_name | fpm_compiler | Function | Return a compiler name string |
convert_to_absolute_path | fpm_os | Subroutine | Converts a path to an absolute, canonical path. |
debug | fpm_compiler | Interface | Create debug printout |
debug_archiver | fpm_compiler | Function | String representation of an archiver object |
debug_compiler | fpm_compiler | Function | String representation of a compiler object |
default_example | fpm_manifest | Subroutine | Populate test in case we find the default example/ directory |
default_executable | fpm_manifest | Subroutine | Populate executable in case we find the default app directory |
default_library | fpm_manifest | Subroutine | Populate library in case we find the default src directory |
default_test | fpm_manifest | Subroutine | Populate test in case we find the default test/ directory |
delete_env | fpm_environment | Function | Deletes an environment variable for the current environment using the C standard library Returns an error if the variable did not exist in the first place |
delete_file | fpm_filesystem | Subroutine | delete a file by filename |
dependency_destroy | fpm_manifest_dependency | Subroutine | Clean memory |
descriptor_name | fpm_git | Function | Code git descriptor to a string |
destroy_dependency_node | fpm_dependency | Subroutine | Destructor |
dilate | fpm_strings | Function | Sample program: |
dirname | fpm_filesystem | Function | Extract dirname from path |
dump_to_toml | fpm_git | Subroutine | Dump dependency to toml table |
dump_to_toml | fpm_compiler | Subroutine | Dump dependency to toml table |
enumerate_libraries | fpm_compiler | Function | Enumerate libraries, based on compiler and platform |
execute_and_read_output | fpm_filesystem | Subroutine | Execute command line and return output as a string. |
exists | fpm_filesystem | Function | test if pathname already exists |
f_string | fpm_strings | Function | return Fortran character variable when given a C-like array of single characters terminated with a C_NULL_CHAR character |
fatal_error | fpm_error | Subroutine | Generic fatal runtime error |
file_not_found_error | fpm_error | Subroutine | Error created when a file is missing or not found |
file_parse_error | fpm_error | Subroutine | Error created when file parsing fails |
file_scope_dump | fpm_manifest_profile | Subroutine | Dump to toml table |
file_scope_load | fpm_manifest_profile | Subroutine | Read from toml table (no checks made at this stage) |
file_scope_same | fpm_manifest_profile | Function | All checks passed! |
fileclose | fpm_filesystem | Subroutine | simple close of a LUN. On error show message and stop (by default) |
fileopen | fpm_filesystem | Subroutine | procedure to open filename as a sequential “text” file |
filewrite | fpm_filesystem | Subroutine | procedure to write filedata to file filename |
filter_executable_targets | fpm_targets | Subroutine | |
filter_library_targets | fpm_targets | Subroutine | |
filter_modules | fpm_targets | Subroutine | |
find_profile | fpm_manifest_profile | Subroutine | Look for profile with given configuration in array profiles |
fnv_1a | fpm_strings | Interface | |
FPM_SCOPE_NAME | fpm_model | Function | Return the character name of a scope flag |
fpm_stop | fpm_error | Subroutine | |
FPM_TARGET_NAME | fpm_targets | Function | Target type name |
FPM_UNIT_NAME | fpm_model | Function | Return the character name of a unit flag |
fpm_version | fpm_release | Function | Return the current fpm version from fpm_version_ID as a version type |
get_absolute_path | fpm_os | Subroutine | Determine the canonical, absolute path for the given path. Expands home folder (~) on both Unix and Windows. |
get_absolute_path_by_cd | fpm_os | Subroutine | Alternative to |
get_command_arguments_quoted | fpm_environment | Function | |
get_command_line_settings | fpm_command_line | Subroutine | ! canon_path is not converting “.”, etc.
& ‘ |
get_compiler_id | fpm_compiler | Function | |
get_current_directory | fpm_os | Subroutine | |
get_debug_compile_flags | fpm_compiler | Subroutine | |
get_default_c_compiler | fpm_compiler | Subroutine | |
get_default_cxx_compiler | fpm_compiler | Subroutine | Get C++ Compiler. |
get_default_flags | fpm_compiler | Function | |
get_default_profiles | fpm_manifest_profile | Function | Construct an array of built-in profiles |
get_dos_path | fpm_filesystem | Function | Ensure a windows path is converted to an 8.3 DOS path if it contains spaces No need to convert if there are no spaces |
get_env | fpm_environment | Function | get named environment variable value. It it is blank or not set return the optional default value !print , NAME, ” is not defined in the environment. Strange…” !print , “This processor doesn’t support environment variables. Boooh!” |
get_exe_name_with_suffix | fpm_sources | Function | Build an executable name with suffix. Safe routine that always returns an allocated string |
get_feature_flag | fpm_compiler | Function | |
get_flags | fpm_manifest_profile | Subroutine | Look for flags, c-flags, link-time-flags key-val pairs and files table in a given table and create new profiles |
get_fpm_env | fpm_command_line | Function | Get an environment variable for fpm, this routine ensures that every variable used by fpm is prefixed with FPM_. |
get_global_settings | fpm_settings | Subroutine | Obtain global settings from the global config file. |
get_home | fpm_filesystem | Subroutine | Get the HOME directory on Unix and the %USERPROFILE% directory on Windows. |
get_id | fpm_compiler | Function | |
get_include_flag | fpm_compiler | Function | |
get_list | fpm_toml | Subroutine | |
get_local_prefix | fpm_filesystem | Function | Determine the path prefix to the local folder. Used for installation, registry etc. |
get_macros | fpm_compiler | Function | This function will parse and read the macros list and return them as defined flags. Set macro defintion symbol on the basis of compiler used Check if macros are not allocated. Split the macro name and value. |
get_main_flags | fpm_compiler | Subroutine | Get special flags for the main linker |
get_module_flag | fpm_compiler | Function | |
get_os_type | fpm_environment | Function | Determine the OS type |
get_package_data | fpm_manifest | Subroutine | Obtain package meta data from a configuation file |
get_registry_settings | fpm_settings | Subroutine | Read registry settings from the global config file. |
get_release_compile_flags | fpm_compiler | Subroutine | |
get_temp_filename | fpm_filesystem | Function | Get a unused temporary filename Calls posix ‘tempnam’ - not recommended, but we have no security concerns for this application and use here is temporary. Works with MinGW |
get_value | fpm_toml | Interface | get_value: fpm interface |
get_working_dir | main | Subroutine | Save access to working directory in settings, in case setting have not been allocated |
getline | fpm_filesystem | Subroutine | subroutine getline(unit,line,iostat,iomsg) |
git_archive | fpm_git | Subroutine | Archive a folder using |
git_is_same | fpm_git | Function | Check that two git targets are equal All checks passed! |
git_matches_manifest | fpm_git | Function | Check that a cached dependency matches a manifest request |
git_revision | fpm_git | Subroutine | |
git_target_branch | fpm_git | Function | Target a branch in the git repository |
git_target_default | fpm_git | Function | Default target |
git_target_revision | fpm_git | Function | Target a specific git revision |
git_target_tag | fpm_git | Function | Target a git tag |
glob | fpm_strings | Function | glob(3f) compares given STRING for match to PATTERN which may contain wildcard characters. |
handle_error | main | Subroutine | |
has_list | fpm_toml | Function | Check if an instance of the TOML data structure contains a list |
has_manifest | main | Function | |
has_valid_custom_prefix | fpm_strings | Function | Check that a module name is prefixed with a custom prefix: 1) It must be a valid FORTRAN name subset (<=63 chars, begin with letter, only alphanumeric allowed) 2) It must begin with the prefix 3) If longer, package name must be followed by default separator (“_”) plus at least one char |
has_valid_standard_prefix | fpm_strings | Function | Check that a module name is prefixed with the default package prefix: 1) It must be a valid FORTRAN name (<=63 chars, begin with letter, “_” is only allowed non-alphanumeric) 2) It must begin with the package name 3) If longer, package name must be followed by default separator plus at least one char |
info | fpm_git | Subroutine | Show information on git target |
info | fpm_manifest_profile | Subroutine | Write information on instance |
info_profile | fpm_manifest_profile | Function | Print a representation of profile_config_t |
is_absolute_path | fpm_filesystem | Function | Returns .true. if provided path is absolute. |
is_dir | fpm_filesystem | Function | test if a name matches an existing directory path |
is_fortran_name | fpm_strings | Function | |
is_gnu | fpm_compiler | Function | |
is_hidden_file | fpm_filesystem | Function | test if a file is hidden |
is_intel | fpm_compiler | Function | |
is_meta_package | fpm_manifest_metapackages | Function | Check local schema for allowed entries |
is_unknown | fpm_compiler | Function | |
is_valid_module_name | fpm_strings | Function | Check that a module name fits the current naming rules: 1) It must be a valid FORTRAN name (<=63 chars, begin with letter, “_” is only allowed non-alphanumeric) 2) It must begin with the package name 3) If longer, package name must be followed by default separator plus at least one char |
is_valid_module_prefix | fpm_strings | Function | Check that a custom module prefix fits the current naming rules: 1) Only alphanumeric characters (no spaces, dashes, underscores or other characters) 2) Does not begin with a number (Fortran-compatible syntax) |
join | fpm_strings | Function | JOIN(3f) appends the elements of a CHARACTER array into a single CHARACTER variable, with elements 1 to N joined from left to right. By default each element is trimmed of trailing spaces and the default separator is a null string. |
join_path | fpm_filesystem | Function | Construct path by joining strings with os file separator |
len_trim | fpm_strings | Interface | |
link | fpm_compiler | Subroutine | Link an executable |
list_files | fpm_filesystem | Subroutine | Get file & directory names in directory |
load_from_toml | fpm_git | Subroutine | Read dependency from toml table (no checks made at this stage) |
load_from_toml | fpm_compiler | Subroutine | Read dependency from toml table (no checks made at this stage) |
lower | fpm_strings | Function | Changes a string to lowercase over optional specified column range |
make_archive | fpm_compiler | Subroutine | Create an archive |
manifest_has_changed | fpm_manifest_dependency | Function | Check if two dependency configurations are different |
match_os_type | fpm_manifest_profile | Subroutine | Match os_type enum to a lowercase string with name of OS |
mkdir | fpm_filesystem | Subroutine | Create a directory. Create subdirectories as needed |
module_prefix_template | fpm_strings | Function | |
module_prefix_type | fpm_strings | Function | |
MPI_TYPE_NAME | fpm_meta | Function | Return a name for the MPI library |
name_is_json | fpm_toml | Function | Choose between JSON or TOML based on a file name |
new_archiver | fpm_compiler | Subroutine | Create new archiver instance |
new_build_config | fpm_manifest_build | Subroutine | Construct a new build configuration from a TOML data structure |
new_compiler | fpm_compiler | Subroutine | Create new compiler instance |
new_dependencies | fpm_manifest_dependency | Subroutine | Construct new dependency array from a TOML data structure |
new_dependency | fpm_manifest_dependency | Subroutine | Construct a new dependency configuration from a TOML data structure |
new_dependency_node | fpm_dependency | Subroutine | Create a new dependency node from a configuration |
new_dependency_tree | fpm_dependency | Subroutine | Create a new dependency tree |
new_example | fpm_manifest_example | Subroutine | Construct a new example configuration from a TOML data structure |
new_executable | fpm_manifest_executable | Subroutine | Construct a new executable configuration from a TOML data structure |
new_fortran_config | fpm_manifest_fortran | Subroutine | Construct a new build configuration from a TOML data structure |
new_install_config | fpm_manifest_install | Subroutine | Create a new installation configuration from a TOML data structure |
new_installer | fpm_installer | Subroutine | Create a new instance of an installer |
new_library | fpm_manifest_library | Subroutine | Construct a new library configuration from a TOML data structure |
new_meta_config | fpm_manifest_metapackages | Subroutine | Construct a new build configuration from a TOML data structure |
new_meta_request | fpm_manifest_metapackages | Subroutine | Construct a new metapackage request from the dependencies table |
new_package | fpm_manifest_package | Subroutine | Construct a new package configuration from a TOML data structure |
new_preprocess_config | fpm_manifest_preprocess | Subroutine | Construct a new preprocess configuration from TOML data structure |
new_preprocessors | fpm_manifest_preprocess | Subroutine | Construct new preprocess array from a TOML data structure. |
new_profile | fpm_manifest_profile | Function | Construct a new profile configuration from a TOML data structure |
new_profiles | fpm_manifest_profile | Subroutine | Construct new profiles array from a TOML data structure |
new_test | fpm_manifest_test | Subroutine | Construct a new test configuration from a TOML data structure |
new_version | fpm_versioning | Interface | |
notabs | fpm_strings | Subroutine | notabs(3f) - [fpm_strings:NONALPHA] expand tab characters (LICENSE:PD) |
number_of_rows | fpm_filesystem | Function | Determine number or rows in a file given a LUN |
operator(.in.) | fpm_strings | Interface | |
operator(==) | fpm_strings | Interface | |
os_delete_dir | fpm_filesystem | Subroutine | Delete directory using system OS remove directory commands |
os_is_unix | fpm_environment | Function | Compare the output of get_os_type or the optional passed INTEGER value to the value for OS_WINDOWS and return .TRUE. if they match and .FALSE. otherwise |
OS_NAME | fpm_environment | Function | Return string describing the OS type flag |
os_type_name | fpm_manifest_profile | Function | Match lowercase string with name of OS to os_type enum |
parent_dir | fpm_filesystem | Function | Extract dirname from path |
parse_c_source | fpm_source_parsing | Function | Parsing of c, cpp source files |
parse_descriptor | fpm_git | Function | Parse git descriptor identifier from a string |
parse_f_source | fpm_source_parsing | Function | Parsing of free-form fortran source files |
parse_use_statement | fpm_source_parsing | Subroutine | |
pkgcfg_get_build_flags | fpm_pkg_config | Function | Get build flags (option to include flags from system directories, that gfortran does not look into by default) |
pkgcfg_get_libs | fpm_pkg_config | Function | Get package libraries from pkg-config |
pkgcfg_get_version | fpm_pkg_config | Function | Get package version from pkg-config |
pkgcfg_has_package | fpm_pkg_config | Function | Check if pkgcfg has package |
pkgcfg_list_all | fpm_pkg_config | Function | Return whole list of available pkg-cfg packages |
profile_dump | fpm_manifest_profile | Subroutine | Dump to toml table |
profile_load | fpm_manifest_profile | Subroutine | Read from toml table (no checks made at this stage) |
profile_same | fpm_manifest_profile | Function | All checks passed! |
read_lines | fpm_filesystem | Function | read lines into an array of TYPE(STRING_T) variables |
read_lines_expanded | fpm_filesystem | Function | read lines into an array of TYPE(STRING_T) variables expanding tabs |
read_package_file | fpm_toml | Subroutine | Process the configuration file to a TOML data structure |
regex_version_from_text | fpm_versioning | Function | |
remove_characters_in_set | fpm_strings | Subroutine | |
remove_newline_characters | fpm_strings | Subroutine | |
replace | fpm_strings | Function | Returns string with characters in charset replaced with target_char. |
resize | fpm_manifest_dependency | Interface | |
resize | fpm_strings | Interface | |
resize | fpm_dependency | Interface | Overloaded reallocation interface |
resolve_metapackages | fpm_meta | Interface | |
resolve_module_dependencies | fpm_targets | Subroutine | Add dependencies to source-based targets ( |
run | fpm_filesystem | Subroutine | Execute the specified system command. Optionally |
run_wrapper | fpm_pkg_config | Subroutine | Simple call to execute_command_line involving one mpi* wrapper |
schedule_targets | fpm_backend | Subroutine | Construct a build schedule from the sorted targets. |
separator | fpm_environment | Function | sample usage |
set_cpp_preprocessor_flags | fpm_compiler | Subroutine | Modify the flag_cpp_preprocessor on the basis of the compiler. |
set_env | fpm_environment | Function | Set an environment variable for the current environment using the C standard library |
set_list | fpm_toml | Subroutine | Set no key if array is not present |
set_string | fpm_toml | Interface | |
set_value | fpm_toml | Interface | set_value: fpm interface |
show_model | fpm_model | Subroutine | |
sort_target | fpm_backend | Subroutine | Topologically sort a target for scheduling by recursing over its dependencies. |
split | fpm_strings | Subroutine | parse string on delimiter characters and store tokens into an allocatable array given a line of structure ” par1 par2 par3 … parn ” store each par(n) into a separate variable in array. |
split_first_last | fpm_strings | Subroutine | |
str | fpm_strings | Interface | |
str_begins_with_str | fpm_strings | Function | test if a CHARACTER string begins with a specified prefix |
str_ends_with | fpm_strings | Interface | |
string_array_contains | fpm_strings | Function | Check if array of TYPE(STRING_T) matches a particular CHARACTER string |
string_cat | fpm_strings | Function | Concatenate an array of type(string_t) into a single CHARACTER variable |
string_t | fpm_strings | Interface | |
syntax_error | fpm_error | Subroutine | |
targets_from_sources | fpm_targets | Subroutine | High-level wrapper to generate build target information |
to_fortran_name | fpm_strings | Function | Returns string with special characters replaced with an underscore. For now, only a hyphen is treated as a special character, but this can be expanded to other characters if needed. |
traverse_compilers | fpm_manifest_profile | Subroutine | Traverse compiler tables |
traverse_oss | fpm_manifest_profile | Subroutine | Traverse operating system tables to obtain profiles |
traverse_oss_for_size | fpm_manifest_profile | Subroutine | Traverse operating system tables to obtain number of profiles |
unix_path | fpm_filesystem | Function | Replace file system separators for unix |
upper | fpm_strings | Function | |
validate_compiler_name | fpm_manifest_profile | Subroutine | Check if compiler name is a valid compiler name |
validate_os_name | fpm_manifest_profile | Subroutine | Check if os_name is a valid name of a supported OS |
validate_profile_table | fpm_manifest_profile | Subroutine | |
warnwrite | fpm_filesystem | Subroutine | write trimmed character data to a file if it does not exist |
which | fpm_filesystem | Function | function which(command) result(pathname) |
windows_path | fpm_filesystem | Function | Replace file system separators for windows |
with_qp | fpm_compiler | Function | Check if the current compiler supports 128-bit real precision |
with_xdp | fpm_compiler | Function | Check if the current compiler supports 80-bit “extended” real precision |
write_response_file | fpm_compiler | Subroutine | Response files allow to read command line options from files. Whitespace is used to separate the arguments, we will use newlines as separator to create readable response files which can be inspected in case of errors. |