[UP]


Manual Reference Pages  - untitled ()

NAME

fpm(1) - A Fortran package manager and build system

SYNOPSIS

fpm SUBCOMMAND [SUBCOMMAND_OPTIONS]

fpm --help|--version|--list

DESCRIPTION

fpm(1) is a package manager that helps you create Fortran projects from source.

Most significantly fpm(1) lets you pull upon other fpm(1) packages in distributed git(1) repositories as if the packages were a basic part of your default programming environment, as well as letting you share your projects with others in a similar manner.

See the fpm(1) repository at https://fortran-lang.org/packages for a listing of registered projects.

All output goes into the directory "build/" which can generally be removed and rebuilt if required. Note that if external packages are being used you need network connectivity to rebuild from scratch.

SUBCOMMANDS

Valid fpm subcommands are:

     build [--release] [--list]
                     Compile the packages into the "build/" directory.
     new NAME [--lib|--src] [--app] [--test] [--backfill]
                     Create a new Fortran package directory
                     with sample files
     run [NAME(s)] [--release] [--list] [-- ARGS]
                     Run the local package binaries. defaults to all
                     binaries for that release.
     test [NAME(s)] [--release] [--list] [-- ARGS]
                     Run the tests
     help [NAME(s)]  Alternate method for displaying subcommand help
     list [--list]   Display brief descriptions of all subcommands.

SUBCOMMAND OPTIONS

--release
  Builds or runs in release mode (versus debug mode). fpm(1) Defaults to using common compiler debug flags and building in "build/*_debug/". When this flag is present build output goes into "build/*_release/" and common compiler optimization flags are used.
--list List candidates instead of building or running them. On the fpm command this shows a brief list of subcommands.
-- ARGS
  Arguments to pass to executables/tests
--help Show help text and exit. Valid for all subcommands.
--version
  Show version information and exit. Valid for all subcommands.

EXAMPLES

sample commands:

    fpm new mypackage --app --test
    fpm build
    fpm test
    fpm run
    fpm new --help
    fpm run myprogram --release -- -x 10 -y 20 --title "my title"

SEE ALSO

The fpm(1) home page at https://github.com/fortran-lang/fpm

NAME

new(1) - the fpm(1) subcommand to initialize a new project

SYNOPSIS

fpm new NAME [--lib|--src] [--app] [--test] [--backfill]

fpm new --help|--version

DESCRIPTION

"fpm new" creates a new programming project in a new directory.

The "new" subcommand creates a directory with the specified name and runs the command "git init" in that directory and populates it with an example "fpm.toml" file, a src/, test/, and app/ directory with trivial example Fortran source files and a ".gitignore" file for ignoring the build/ directory (where fpm-generated output will be placed):

    NAME/
      fpm.toml
      .gitignore
      src/
          NAME.f90
      app/
          main.f90
      test/
          main.f90

Remember to update the information in the sample "fpm.toml" file with your name and e-mail address.

OPTIONS

NAME the name of the project directory to create. The name must be a valid Fortran name composed of 1 to 63 ASCII alphanumeric characters and underscores, starting with a letter.
The default is to create all of the src/, app/, and test/ directories. If any of the following options are specified then only selected subdirectories are generated:
--lib,--src
  create directory src/ and a placeholder module named "NAME.f90" for use with subcommand "build".
--app create directory app/ and a placeholder main program for use with subcommand "run".
--test create directory test/ and a placeholder program for use with the subcommand "test". Note that sans "--lib" it really does not have anything to test.
So the default is equivalent to "fpm NAME --lib --app --test".
--backfill
  By default the directory must not exist. If this option is present the directory may pre-exist and only subdirectories and files that do not already exist will be created. For example, if you previously entered "fpm new myname --lib" entering "fpm new myname --backfill" will create the missing app/ and test/ directories and programs.
--help print this help and exit
--version
  print program version information and exit

EXAMPLES

Sample use

   fpm new myproject  # create new project directory and seed it
   cd myproject       # Enter the new directory
   # and run commands such as
   fpm build
   fpm run            # run example application program
   fpm test           # run example test program

SEE ALSO

The fpm(1) home page at https://github.com/fortran-lang/fpm

Registered packages are at https://fortran-lang.org/packages

NAME

build(1) - the fpm(1) subcommand to build a project

SYNOPSIS

fpm build [--release]|[-list]

fpm build --help|--version

DESCRIPTION

The "fpm build" command
o Fetches any dependencies
o Scans your sources
o Builds them in the proper order

The Fortran source files are assumed by default to be in

o src/ for modules and procedure source
o app/ main program(s) for applications
o test/ main program(s) and support files for project tests Changed or new files found are rebuilt. The results are placed in the build/ directory.

Non-default pathnames and remote dependencies are used if specified in the "fpm.toml" file.

OPTIONS

--release
  build in build/*_release instead of build/*_debug with high optimization instead of full debug options.
--list list candidates instead of building or running them
--help print this help and exit
--version
  print program version information and exit

EXAMPLES

Sample commands:

  fpm build           # build with debug options
  fpm build --release # build with high optimization

SEE ALSO

The fpm(1) home page at https://github.com/fortran-lang/fpm

NAME

run(1) - the fpm(1) subcommand to run project applications

SYNOPSIS

fpm run [NAME(s)] [--release] [-- ARGS]

fpm run --help|--version

DESCRIPTION

Run applications you have built in your fpm(1) project.

OPTIONS

NAME(s) optional list of specific names to execute. The default is to run all the applications in app/ or the programs listed in the "fpm.toml" file.
--release
  selects the optimized build instead of the debug build.
--list list candidates instead of building or running them
-- ARGS
  optional arguments to pass to the program(s). The same arguments are passed to all names specified.

EXAMPLES

run fpm(1) project applications

  # run default programs in /app or as specified in "fpm.toml"
  fpm run

# run a specific program and pass arguments to the command fpm run mytest -- -x 10 -y 20 --title "my title line"

# run production version of two applications fpm run prg1 prg2 --release

SEE ALSO

The fpm(1) home page at https://github.com/fortran-lang/fpm

NAME

test(1) - the fpm(1) subcommand to run project tests

SYNOPSIS

fpm test [NAME(s)] [--release] [--list] [-- ARGS]

fpm test --help|--version

DESCRIPTION

Run applications you have built to test your project.

OPTIONS

NAME(s) optional list of specific test names to execute. The default is to run all the tests in test/ or the tests listed in the "fpm.toml" file.
--release
  selects the optimized build instead of the debug build.
--list list candidates instead of building or running them
-- ARGS
  optional arguments to pass to the test program(s). The same arguments are passed to all test names specified.

EXAMPLES

run tests

 # run default tests in /test or as specified in "fpm.toml"
 fpm test

# run a specific test and pass arguments to the command fpm test mytest -- -x 10 -y 20 --title "my title line"

fpm test tst1 tst2 --release # production version of two tests

SEE ALSO

The fpm(1) home page at https://github.com/fortran-lang/fpm

NAME

help(1) - the fpm(1) subcommand to display help

SYNOPSIS

fpm help [fpm] [new] [build] [run] [test] [help] [version] [manual]

fpm help [fortran|fortran_manual][FORTRAN_INTRINSIC_NAME]

DESCRIPTION

The "fpm help" command is an alternative to the --help parameter on the fpm(1) command and its subcommands.

OPTIONS

NAME(s) A list of topic names to display. All the subcommands have their own page (new, build, run, test, ...).

The special name "manual" displays all the fpm(1) built-in documentation.

The default is to display help for the fpm(1) command itself.

INTRINSIC(s)
  In addition, Fortran intrinsics can be described. The special name "fortran" prints a list of available topics. "fortran_manual" displays all the built-in fortran documentation. Entries should be in uppercase to avoid conflicts with fpm(1) topics; but can be in lowercase if there is no conflict.

EXAMPLES

Sample usage:

     fpm help           # general fpm(1) command help
     fpm help version   # show program version
     fpm help new       # display help for "new" subcommand
     fpm help manual    # All fpm(1) built-in documentation

    FORTRAN INTRINSICS

Additional general Fortran documentation

     fpm help SIN COS TAN    # selected Fortran Intrinsic help
     fpm help fortran        # index of Fortran documentation
     fpm help fortran_manual # all Fortran documentation

SEE ALSO

The fpm(1) home page at https://github.com/fortran-lang/fpm

NAME

list(1) - list summary of fpm(1) subcommands

SYNOPSIS

fpm list [-list]

fpm list --help|--version

DESCRIPTION

Display a short description for each fpm(1) subcommand.

OPTIONS

--list display a list of command options as well. This is the same output as generated by "fpm --list".

EXAMPLES

display a short list of fpm(1) subcommands

  fpm list
  fpm --list

SEE ALSO

The fpm(1) home page at https://github.com/fortran-lang/fpm

   Version:     0.1.0, Pre-alpha
   Program:     fpm(1)
   Description: A Fortran package manager and build system
   Home Page:   https://github.com/fortran-lang/fpm
   License:     MIT
   OS Type:     Linux


untitled () October 17, 2020
Generated by manServer 1.08 from x.1 using man macros.