From 7d2f2162d517fc984124bf32e128899b9cdc809c Mon Sep 17 00:00:00 2001 From: Sebastian Ehlert <28669218+awvwgk@users.noreply.github.com> Date: Sun, 29 Nov 2020 19:01:54 +0100 Subject: Rewrite README to focus on the Fortran fpm version - describe complete bootstapping process in collapsed details section --- README.md | 76 +++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 54 insertions(+), 22 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index a9d1a02..5025615 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,44 @@ __Note:__ On Linux and MacOS, you will need to enable executable permission befo _e.g._ `$ chmod u+x fpm-v0.1.0-linux-x86_64` -### Build from source +For other platforms and architectures have a look at the [bootstrapping instructions](#bootstrapping-fpm). + +### Creating a new project + +Creating a new *fpm* project is as simple as running the command +`fpm new project_name`. This will create a new folder in your current directory +with the following contents and initialized as a git repository. + +* `fpm.toml` – with your project’s name and some default standard meta-data +* `README.md` – with your project’s name +* `.gitignore` +* `src/project_name.f90` – with a simple hello world subroutine +* `app/main.f90` (if `--with-executable` flag used) – a program that calls the subroutine +* `test/main.f90` (if `--with-test` flag used) – an empty test program + +### Building your Fortran project with fpm + +*fpm* understands the basic commands: + +* `fpm build` – build your library, executables and tests +* `fpm run` – run executables +* `fpm test` – run tests + +The command `fpm run` can optionally accept the name of the specific executable +to run, as can `fpm test`; like `fpm run specific_executable`. Command line +arguments can also be passed to the executable(s) or test(s) with the option +`--args "some arguments"`. + +See additional instructions in the [Packaging guide](PACKAGING.md) or +the [manifest reference](manifest-reference.md). + +
+Bootstrapping instructions + +### Bootstrapping instructions + +This guide explains the process of building *fpm* on a platform for the first time. +If your platform and architecture are already supported, download the binary from the [release page](https://github.com/fortran-lang/fpm/releases) instead. #### Install Haskell @@ -64,31 +101,26 @@ $ stack install On Linux, the above command installs `fpm` to `${HOME}/.local/bin/`. -### Creating a new project +Now you can build the Fortran *fpm* version with -Creating a new *fpm* project is as simple as running the command -`fpm new project_name`. This will create a new folder in your current directory -with the following contents and initialized as a git repository. +```bash +$ cd fpm/ +$ fpm build +``` -* `fpm.toml` – with your project’s name and some default standard meta-data -* `README.md` – with your project’s name -* `.gitignore` -* `src/project_name.f90` – with a simple hello world subroutine -* `app/main.f90` (if `--with-executable` flag used) – a program that calls the subroutine -* `test/main.f90` (if `--with-test` flag used) – an empty test program +Test that everything is working as expected -### Building your Fortran project with fpm +```bash +$ fpm test +``` -*fpm* understands the basic commands: +Finally, install the Fortran *fpm* version with -* `fpm build` – build your library, executables and tests -* `fpm run` – run executables -* `fpm test` – run tests +```bash +$ fpm run --runner cp -- ~/.local/bin +``` -The command `fpm run` can optionally accept the name of the specific executable -to run, as can `fpm test`; like `fpm run specific_executable`. Command line -arguments can also be passed to the executable(s) or test(s) with the option -`--args "some arguments"`. +Or choose another location if you do not want to overwrite the bootstrapping version. +From now on you can rebuild *fpm* with your Fortran *fpm* version. -See additional instructions in the [Packaging guide](PACKAGING.md) or -the [manifest reference](manifest-reference.md). +
-- cgit v1.2.3 From ac2bcb8b6024562571346f829703dede8ec5369e Mon Sep 17 00:00:00 2001 From: Sebastian Ehlert <28669218+awvwgk@users.noreply.github.com> Date: Mon, 30 Nov 2020 17:46:10 +0100 Subject: Simplify bootstrapping instructions --- README.md | 35 +++++------------------------------ 1 file changed, 5 insertions(+), 30 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 5025615..7d966dc 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ __Note:__ On Linux and MacOS, you will need to enable executable permission befo _e.g._ `$ chmod u+x fpm-v0.1.0-linux-x86_64` -For other platforms and architectures have a look at the [bootstrapping instructions](#bootstrapping-fpm). +For other platforms and architectures have a look at the [bootstrapping instructions](#bootstrapping-instructions). ### Creating a new project @@ -50,27 +50,17 @@ with the following contents and initialized as a git repository. The command `fpm run` can optionally accept the name of the specific executable to run, as can `fpm test`; like `fpm run specific_executable`. Command line arguments can also be passed to the executable(s) or test(s) with the option -`--args "some arguments"`. +`-- some arguments`. See additional instructions in the [Packaging guide](PACKAGING.md) or the [manifest reference](manifest-reference.md). -
-Bootstrapping instructions ### Bootstrapping instructions This guide explains the process of building *fpm* on a platform for the first time. If your platform and architecture are already supported, download the binary from the [release page](https://github.com/fortran-lang/fpm/releases) instead. -#### Install Haskell - -To install **Haskell Stack**, follow these -[instructions](https://docs.haskellstack.org/en/stable/install_and_upgrade/), -users without superuser (admin) permissions should follow the -[manual installation](https://docs.haskellstack.org/en/stable/install_and_upgrade/#manual-download_2) -procedure. - #### Download this repository ```bash @@ -78,25 +68,12 @@ $ git clone https://github.com/fortran-lang/fpm $ cd fpm/ ``` -#### Build and test fpm - -Bootstrap *fpm* using: - -```bash -$ cd bootstrap/ -$ stack build -``` +#### Build a bootstrap version of fpm -To test: +You can use the install script to perform the build of the Haskell version of *fpm* with: ```bash -$ stack test -``` - -To install: - -```bash -$ stack install +$ ./install.sh ``` On Linux, the above command installs `fpm` to `${HOME}/.local/bin/`. @@ -122,5 +99,3 @@ $ fpm run --runner cp -- ~/.local/bin Or choose another location if you do not want to overwrite the bootstrapping version. From now on you can rebuild *fpm* with your Fortran *fpm* version. - -
-- cgit v1.2.3