{"id":13532045,"url":"https://github.com/szaghi/FLAP","last_synced_at":"2025-04-01T20:31:14.692Z","repository":{"id":15822737,"uuid":"18562512","full_name":"szaghi/FLAP","owner":"szaghi","description":"Fortran command Line Arguments Parser for poor people","archived":false,"fork":false,"pushed_at":"2024-02-23T13:18:39.000Z","size":8037,"stargazers_count":155,"open_issues_count":22,"forks_count":34,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-02-18T01:51:33.213Z","etag":null,"topics":["argparse","command-line","fortran","fortran-library","oop","parser"],"latest_commit_sha":null,"homepage":"","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/szaghi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.bsd-2.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2014-04-08T14:56:56.000Z","updated_at":"2025-02-06T20:46:42.000Z","dependencies_parsed_at":"2022-07-08T06:50:56.365Z","dependency_job_id":"c3883044-b476-4bde-a376-016ee33b8f52","html_url":"https://github.com/szaghi/FLAP","commit_stats":{"total_commits":233,"total_committers":10,"mean_commits":23.3,"dds":"0.12017167381974247","last_synced_commit":"5a63132d6074f4fbada6631ec72c0fe43c156316"},"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szaghi%2FFLAP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szaghi%2FFLAP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szaghi%2FFLAP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szaghi%2FFLAP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/szaghi","download_url":"https://codeload.github.com/szaghi/FLAP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246709923,"owners_count":20821297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["argparse","command-line","fortran","fortran-library","oop","parser"],"created_at":"2024-08-01T07:01:07.790Z","updated_at":"2025-04-01T20:31:09.673Z","avatar_url":"https://github.com/szaghi.png","language":"Fortran","readme":"\u003ca name=\"top\"\u003e\u003c/a\u003e\n\n# FLAP [![GitHub tag](https://img.shields.io/github/tag/szaghi/FLAP.svg)](https://github.com/szaghi/FLAP/releases) [![Join the chat at https://gitter.im/szaghi/FLAP](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/szaghi/FLAP?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n[![License](https://img.shields.io/badge/license-GNU%20GeneraL%20Public%20License%20v3,%20GPLv3-blue.svg)]()\n[![License](https://img.shields.io/badge/license-BSD2-red.svg)]()\n[![License](https://img.shields.io/badge/license-BSD3-red.svg)]()\n[![License](https://img.shields.io/badge/license-MIT-red.svg)]()\n\n[![Status](https://img.shields.io/badge/status-stable-brightgreen.svg)]()\n[![CI Status](https://github.com/szaghi/FLAP/actions/workflows/ci.yml/badge.svg)](https://github.com/szaghi/FLAP/actions)\n[![Coverage Status](https://img.shields.io/codecov/c/github/szaghi/FLAP.svg)](https://app.codecov.io/gh/szaghi/FLAP)\n\n### FLAP, Fortran command Line Arguments Parser for poor people\n\nA KISS pure Fortran Library for building powerful, easy-to-use, elegant command line interfaces\n\n- FLAP is a pure Fortran (KISS) library for building easily nice Command Line Interfaces (CLI) for modern Fortran projects;\n- FLAP is Fortran 2003+ standard compliant;\n- FLAP is OOP designed;\n- FLAP is a Free, Open Source Project.\n\n#### Issues\n\n[![GitHub issues](https://img.shields.io/github/issues/szaghi/FLAP.svg)]()\n\n#### Compiler Support\n\n[![Compiler](https://img.shields.io/badge/GNU-v4.9.2+-brightgreen.svg)]()\n[![Compiler](https://img.shields.io/badge/Intel-v12.x+-brightgreen.svg)]()\n[![Compiler](https://img.shields.io/badge/IBM%20XL-not%20tested-yellow.svg)]()\n[![Compiler](https://img.shields.io/badge/g95-not%20tested-yellow.svg)]()\n[![Compiler](https://img.shields.io/badge/NAG-not%20tested-yellow.svg)]()\n[![Compiler](https://img.shields.io/badge/PGI-not%20tested-yellow.svg)]()\n\n---\n\n| [What is FLAP?](#what-is-flap) | [Main features](#main-features) | [Copyrights](#copyrights) | [Documentation](#documentation) | [Install](#install) |\n\n---\n\n## What is FLAP?\n\nModern Fortran standards (2003+) have introduced support for Command Line Arguments (CLA), thus it is possible to construct nice and effective Command Line Interfaces (CLI). FLAP is a small library designed to simplify the (repetitive) construction of complicated CLI in pure Fortran (standard 2003+). FLAP has been inspired by the python module _argparse_ trying to mimic it. Once you have defined the arguments that are required by means of a user-friendly method of the CLI, FLAP will parse the CLAs for you. It is worthy of note that FLAP, as _argparse_, also automatically generates help and usage messages and issues errors when users give the program invalid arguments.\n\nGo to [Top](#top)\n\n## Main features\n\nFLAP is inspired by the python great module _argparse_, thus many features are taken from it. Here the main features are listed.\n\n* [x] User-friendly methods for building flexible and effective Command Line Interfaces (CLI);\n* [x] comprehensive Command Line Arguments (CLA) support:\n  * [x] support optional and non optional CLA;\n  * [x] support boolean CLA;\n  * [x] support positional CLA;\n  * [x] support list of allowable values for defined CLA with automatic consistency check;\n  * [x] support multiple valued (list of values, aka list-valued) CLA:\n    * [x] compiletime sized list, e.g. `nargs='3'`;\n    * [x] runtime sized list with at least 1 value, e.g. `nargs='+'`;\n    * [x] runtime sized list with any size, even empty, e.g. `nargs='*'`;\n  * [x] support mutually exclusive CLAs;\n  * [x] self-consistency-check of CLA definition;\n  * [x] support fake CLAs input from a string;\n  * [x] support fake CLAs input from environment variables;\n* [x] comprehensive *command* (group of CLAs) support:\n  * [x] support nested subcommands;\n  * [x] support mutually exclusive commands;\n  * [x] self-consistency-check of command definition;\n* [x] automatic generation of help and usage messages;\n* [x] consistency-check of whole CLI definition;\n* [x] errors trapping for invalid CLI usage;\n* [x] POSIX style compliant;\n* [x] automatic generation of MAN PAGE using your CLI definition!;\n* [x] replicate all the useful features of _argparse_;\n* [ ] implement [docopt](https://github.com/docopt/docopt) features.\n* [ ] implement [click](http://click.pocoo.org/4/) features.\n\nAny feature request is welcome.\n\nGo to [Top](#top)\n\n## Copyrights\n\nFLAP is an open source project, it is distributed under a multi-licensing system:\n\n+ for FOSS projects:\n  - [GPL v3](http://www.gnu.org/licenses/gpl-3.0.html);\n+ for closed source/commercial projects:\n  - [BSD 2-Clause](http://opensource.org/licenses/BSD-2-Clause);\n  - [BSD 3-Clause](http://opensource.org/licenses/BSD-3-Clause);\n  - [MIT](http://opensource.org/licenses/MIT).\n\nAnyone is interest to use, to develop or to contribute to FLAP is welcome, feel free to select the license that best matches your soul!\n\nMore details can be found on [wiki](https://github.com/szaghi/FLAP/wiki/Copyrights).\n\nGo to [Top](#top)\n\n## Documentation\n\nBesides this README file the FLAP documentation is contained into its own [wiki](https://github.com/szaghi/FLAP/wiki). Detailed documentation of the API is contained into the [GitHub Pages](http://szaghi.github.io/FLAP/index.html) that can also be created locally by means of [ford tool](https://github.com/cmacmackin/ford).\n\n### A Taste of FLAP\n\nA minimal *plate*:\n\n```fortran\nprogram minimal\ntype(command_line_interface) :: cli    ! Command Line Interface (CLI).\ncharacter(99)                :: string ! String value.\ninteger                      :: error  ! Error trapping flag.\n\ncall cli%init(description = 'minimal FLAP example')\ncall cli%add(switch='--string', \u0026\n             switch_ab='-s',    \u0026\n             help='a string',   \u0026\n             required=.true.,   \u0026\n             act='store',       \u0026\n             error=error)\nif (error/=0) stop\ncall cli%get(switch='-s', val=string, error=error)\nif (error/=0) stop\nprint '(A)', cli%progname//' has been called with the following argument:'\nprint '(A)', 'String = '//trim(adjustl(string))\nendprogram minimal\n```\n\nThat *built and run* provides:\n\n```shell\n→ ./minimal\n./minimal: error: named option \"--string\" is required!\n\nusage:  ./exe/test_minimal --string value [--help] [--version]\n\nminimal FLAP example\n\nRequired switches:\n   --string value, -s value\n    a string\n\nOptional switches:\n   --help, -h\n    Print this help message\n   --version, -v\n    Print version\n```\n\nA nice automatic help-message, right? Executed correctly gives.\n\n```shell\n→ ./minimal --string 'hello world'\n./exe/minimal has been called with the following argument:\nString = hello world\n```\n\nFor more details, see the provided [tests](https://github.com/szaghi/FLAP/blob/master/src/tests).\n\n#### Nested (sub)commands\n\nFLAP fully supports nested (sub)commands or groups of command line arguments. For example a fake `git` toy remake can be coded as\n\n```fortran\n! initializing Command Line Interface\ncall cli%init(progname    = 'test_nested',                                      \u0026\n              version     = 'v2.1.5',                                           \u0026\n              authors     = 'Stefano Zaghi',                                    \u0026\n              license     = 'MIT',                                              \u0026\n              description = 'Toy program for testing FLAP with nested commands',\u0026\n              examples    = ['test_nested                      ',\u0026\n                             'test_nested -h                   ',\u0026\n                             'test_nested init                 ',\u0026\n                             'test_nested commit -m \"fix bug-1\"',\u0026\n                             'test_nested tag -a \"v2.1.5\"      '])\n! set a Command Line Argument without a group to trigger authors names printing\ncall cli%add(switch='--authors',switch_ab='-a',help='Print authors names',required=.false.,act='store_true',def='.false.')\n! set Command Line Arguments Groups, i.e. commands\ncall cli%add_group(group='init',description='fake init versioning')\ncall cli%add_group(group='commit',description='fake commit changes to current branch')\ncall cli%add_group(group='tag',description='fake tag current commit')\n! set Command Line Arguments of commit command\ncall cli%add(group='commit',switch='--message',switch_ab='-m',help='Commit message',required=.false.,act='store',def='')\n! set Command Line Arguments of commit command\ncall cli%add(group='tag',switch='--annotate',switch_ab='-a',help='Tag annotation',required=.false.,act='store',def='')\n! parsing Command Line Interface\ncall cli%parse(error=error)\nif (error/=0) then\n  print '(A)', 'Error code: '//trim(str(n=error))\n  stop\nendif\n! using Command Line Interface data to trigger program behaviour\ncall cli%get(switch='-a',val=authors_print,error=error) ; if (error/=0) stop\nif (authors_print) then\n  print '(A)','Authors: '//cli%authors\nelseif (cli%run_command('init')) then\n  print '(A)','init (fake) versioning'\nelseif (cli%run_command('commit')) then\n  call cli%get(group='commit',switch='-m',val=message,error=error) ; if (error/=0) stop\n  print '(A)','commit changes to current branch with message \"'//trim(message)//'\"'\nelseif (cli%run_command('tag')) then\n  call cli%get(group='tag',switch='-a',val=message,error=error) ; if (error/=0) stop\n  print '(A)','tag current branch with message \"'//trim(message)//'\"'\nelse\n  print '(A)','cowardly you are doing nothing... try at least \"-h\" option!'\nendif\n```\n\nthat when invoked without arguments prompts:\n\n```shell\ncowardly you are doing nothing... try at least \"-h\" option!\n```\nand invoked with `-h` option gives:\n\n```shell\nusage: test_nested  [--authors] [--help] [--version] {init,commit,tag} ...\n\nToy program for testing FLAP with nested commands\n\nOptional switches:\n   --authors, -a\n          default value .false.\n          Print authors names\n   --help, -h\n          Print this help message\n   --version, -v\n          Print version\n\nCommands:\n  init\n          fake init versioning\n  commit\n          fake commit changes to current branch\n  tag\n          fake tag current commit\n\nFor more detailed commands help try:\n  test_nested init -h,--help\n  test_nested commit -h,--help\n  test_nested tag -h,--help\n\nExamples:\n   test_nested\n   test_nested -h\n   test_nested init\n   test_nested commit -m \"fix bug-1\"\n   test_nested tag -a \"v2.1.5\"\n```\n\nFor more details, see the provided [example](https://github.com/szaghi/FLAP/blob/master/src/tests/test_nested.f90).\n\nGo to [Top](#top)\n\n---\n\n## Install\n\nFLAP is a Fortran library composed by several modules.\n\n\u003e Before download and compile the library you must check the [requirements](https://github.com/szaghi/FLAP/wiki/Requirements).\n\nTo download and build the project two main ways are available:\n\n+ exploit the [install script](#install-script) that can be downloaded [here](https://github.com/szaghi/FLAP/releases/latest)\n+ [manually download and build](#manually-download-and-build):\n  + [download](#download)\n  + [build](#build)\n\n---\n\nGo to [Top](#top)\n\n### install script\n\nFLAP ships a bash script (downloadable from [here](https://github.com/szaghi/FLAP/releases/latest)) that is able to automatize the download and build steps. The script `install.sh` has the following usage:\n\n```shell\n→ ./install.sh\nInstall script of FLAP\nUsage:\n\ninstall.sh --help|-?\n    Print this usage output and exit\n\ninstall.sh --download|-d \u003carg\u003e [--verbose|-v]\n    Download the project\n\n    --download|-d [arg]  Download the project, arg=git|wget to download with git or wget respectively\n    --verbose|-v         Output verbose mode activation\n\ninstall.sh --build|-b \u003carg\u003e [--verbose|-v]\n    Build the project\n\n    --build|-b [arg]  Build the project, arg=fobis|make|cmake to build with FoBiS.py, GNU Make or CMake respectively\n    --verbose|-v      Output verbose mode activation\n\nExamples:\n\ninstall.sh --download git\ninstall.sh --build make\ninstall.sh --download wget --build cmake\n```\n\n\u003e The script does not cover all possibilities.\n\nThe script operation modes are 2 (*collapsible* into one-single-mode):\n\n+ download a new fresh-clone of the latest master-release by means of:\n  + [git](https://git-scm.com/);\n  + [wget](https://www.gnu.org/software/wget/) (also [curl](https://curl.haxx.se/) is necessary);\n+ build a fresh-clone project as static-linked library by means of:\n  + [FoBiS.py](https://github.com/szaghi/FoBiS);\n  + [GNU Make](https://www.gnu.org/software/make/);\n  + [CMake](https://cmake.org/);\n  * [Fortran Package Manager](https://fpm.fortran-lang.org/en/index.html);\n\n\u003e you can mix any of the above combinations accordingly to the tools available.\n\nTypical usages are:\n\n```shell\n# download and prepare the project by means of git and build with GNU Make\ninstall.sh --dowload git --build make\n# download and prepare the project by means of wget (curl) and build with CMake\ninstall.sh --dowload wget --build cmake\n# download and prepare the project by means of git and build with FoBiS.py\ninstall.sh --dowload git --build fobis\n```\n\n---\n\nGo to [Top](#top)\n\n### manually download and build\n\n#### download\n\nTo download all the available releases and utilities (fobos, license, readme, etc...), it can be convenient to _clone_ whole the project:\n\n```shell\ngit clone https://github.com/szaghi/FLAP\ncd FLAP\ngit submodule update --init\n```\n\nAlternatively, you can directly download a release from GitHub server, see the [ChangeLog](https://github.com/szaghi/FLAP/wiki/ChangeLog).\n\n#### build\n\nThe most easy way to compile FLAP is to use [FoBiS.py](https://github.com/szaghi/FoBiS) within the provided fobos file.\n\nConsequently, it is strongly encouraged to install [FoBiS.py](https://github.com/szaghi/FoBiS#install).\n\n| [Build by means of FoBiS](#build-by-means-of-fobis) | [Build by means of GNU Make](#build-by-means-of-gnu-make) | [Build by means of CMake](#build-by-means-of-cmake) |\n\n---\n\n#### build by means of FoBiS\n\nFoBiS.py is a KISS tool for automatic building of modern Fortran projects. Providing very few options, FoBiS.py is able to build almost automatically complex Fortran projects with cumbersome inter-modules dependency. This removes the necessity to write complex makefile. Moreover, providing a very simple options file (in the FoBiS.py nomenclature indicated as `fobos` file) FoBiS.py can substitute the (ab)use of makefile for other project stuffs (build documentations, make project archive, etc...). FLAP is shipped with a fobos file that can build the library in both _static_ and _shared_ forms and also build the `Test_Driver` program. The provided fobos file has several building modes.\n\n##### listing fobos building modes\nTyping:\n```bash\nFoBiS.py build -lmodes\n```\nthe following message should be printed:\n```bash\nThe fobos file defines the following modes:\n - \"shared-gnu\"\n  - \"static-gnu\"\n  - \"test-driver-gnu\"\n  - \"shared-gnu-debug\"\n  - \"static-gnu-debug\"\n  - \"test-driver-gnu-debug\"\n  - \"shared-intel\"\n  - \"static-intel\"\n  - \"test-driver-intel\"\n  - \"shared-intel-debug\"\n  - \"static-intel-debug\"\n  - \"test-driver-intel-debug\"\n```\nThe modes should be self-explicative: `shared`, `static` and `test-driver` are the modes for building (in release, optimized form) the shared and static versions of the library and the Test Driver program, respectively. The other 3 modes are the same, but in debug form instead of release one. `-gnu` use the `GNU gfortran` compiler while `-intel` the Intel one.\n\n##### building the library\nThe `shared` or `static` directories are created accordingly to the form of the library built. The compiled objects and mod files are placed inside this directory, as well as the linked library.\n###### release shared library\n```bash\nFoBiS.py build -mode shared-gnu\n```\n###### release static library\n```bash\nFoBiS.py build -mode static-gnu\n```\n###### debug shared library\n```bash\nFoBiS.py build -mode shared-gnu-debug\n```\n###### debug static library\n```bash\nFoBiS.py build -mode static-gnu-debug\n```\n\n##### building the Test Driver program\nThe `Test_Driver` directory is created. The compiled objects and mod files are placed inside this directory, as well as the linked program.\n###### release test driver program\n```bash\nFoBiS.py build -mode test-driver-gnu\n```\n###### debug test driver program\n```bash\nFoBiS.py build -mode test-driver-gnu-debug\n```\n\n##### listing fobos rules\nTyping:\n```bash\nFoBiS.py rule -ls\n```\nthe following message should be printed:\n```bash\nThe fobos file defines the following rules:\n  - \"makedoc\" Rule for building documentation from source files\n       Command =\u003e rm -rf doc/html/*\n       Command =\u003e ford doc/main_page.md\n       Command =\u003e cp -r doc/html/publish/* doc/html/\n  - \"deldoc\" Rule for deleting documentation\n       Command =\u003e rm -rf doc/html/*\n  - \"maketar\" Rule for making tar archive of the project\n       Command =\u003e tar -czf FLAP.tar.gz *\n  - \"makecoverage\" Rule for performing coverage analysis\n       Command =\u003e FoBiS.py clean -mode test-driver-gnu\n       Command =\u003e FoBiS.py build -mode test-driver-gnu -coverage\n       Command =\u003e ./Test_Driver/Test_Driver\n       Command =\u003e ./Test_Driver/Test_Driver -v\n       Command =\u003e ./Test_Driver/Test_Driver -s 'Hello FLAP' -i 2\n       Command =\u003e ./Test_Driver/Test_Driver 33.0 -s 'Hello FLAP' --integer_list 10 -3 87 -i 3 -r 64.123d0  --boolean --boolean_val .false.\n  - \"coverage-analysis\" Rule for performing coverage analysis and saving reports in markdown\n       Command =\u003e FoBiS.py clean -mode test-driver-gnu\n       Command =\u003e FoBiS.py build -mode test-driver-gnu -coverage\n       Command =\u003e ./Test_Driver/Test_Driver\n       Command =\u003e ./Test_Driver/Test_Driver -v\n       Command =\u003e ./Test_Driver/Test_Driver -s 'Hello FLAP' -i 2\n       Command =\u003e ./Test_Driver/Test_Driver 33.0 -s 'Hello FLAP' --integer_list 10 -3 87 -i 3 -r 64.123d0  --boolean --boolean_val .false.\n       Command =\u003e gcov -o Test_Driver/obj/ src/*\n       Command =\u003e FoBiS.py rule -gcov_analyzer wiki/ Coverage-Analysis\n       Command =\u003e rm -f *.gcov\n```\nThe rules should be self-explicative.\n\n---\n\n#### build by means of GNU Make\n\nBad choice :-)\n\nHowever, a makefile (generated by FoBiS.py...) to be used with a compatible GNU Make tool is [provided](https://github.com/szaghi/FLAP/blob/master/makefile).\n\nIt is convenient to clone the whole FLAP repository and run a *standard* make:\n\n```shell\ngit clone https://github.com/szaghi/FLAP\ncd FLAP\nmake -j 1\n```\n\nThis commands build all tests (executables are in `exe/` directory). To build only the library (statically linked) type:\n\n```shell\ngit clone https://github.com/szaghi/FLAP\ncd FLAP\nmake -j 1 STATIC=yes\n```\n\n#### Build by means of CMake\n\nBad choice :-)\n\nHowever, a CMake setup (kindly developed by [victorsndvg](https://github.com/victorsndvg)) is provided.\n\nIt is convenient to clone the whole FLAP repository and run a *standard* CMake configure/build commands:\n\n```shell\ngit clone https://github.com/szaghi/FLAP $YOUR_FLAP_PATH\nmkdir build\ncd build\ncmake $YOUR_FLAP_PATH\ncmake --build .\n```\n\nIf you want to run the tests suite type:\n\n```shell\ngit clone https://github.com/szaghi/FLAP $YOUR_FLAP_PATH\nmkdir build\ncd build\ncmake -DFLAP_ENABLE_TESTS=ON $YOUR_FLAP_PATH\ncmake --build .\nctest\n```\n\n#### Build by means of FPM\n\nA [Fortran Package Manager](https://github.com/fortran-lang/fpm) manifest file is also included, so that the library and test cases can be compiled with FPM. For example:\n\n```\nfpm build --profile release\nfpm test --profile release\n```\n\nTo use `FLAP` within your fpm project, add the following to your `fpm.toml` file:\n```toml\n[dependencies]\nFLAP = { git=\"https://github.com/szaghi/FLAP.git\" }\n```\n\nOr, to use a specific revision:\n\n```toml\n[dependencies]\nFLAP = { git=\"https://github.com/szaghi/FLAP.git\", rev = \"11cb276228d678c1d9ce755badf0ce82094b0852\" }\n```\n\nNote that, when compiling with FPM, the git submodules in the `src/third_party` directory are not used, but FPM will download these separately, based on the versions specified in the `fpm.toml` file.\n\nGo to [Top](#top)\n\n### NVFortran Compiling Issue\n\nThanks to Carl Ponder (@cponder), we know that Nvidia NVFortran compiler misunderstand a quoted string containing a backslash into source files. To overcome this issue we suggest to use the `-Mbackslash` switch of NVFortran compiler.\n\nFor example, to compile by means of CMake use:\n\n```shell\ngit clone https://github.com/szaghi/FLAP $YOUR_FLAP_PATH\nmkdir build\ncd build\ncmake -D CMAKE_Fortran_FLAGS=\"-Mbackslash\" $YOUR_FLAP_PATH\ncmake --build .\n```\n\nSimilarly, into the fobos config file there is a specific template for NVFortran where this switch has been used to compile FLAP by means of Nvidia compiler. To test it use:\n\n```bash\nFoBiS.py build -mode static-nvf\n```\n\nGo to [Top](#top)\n","funding_links":[],"categories":["[Fortran](https://fortran-lang.org/)","Command-Line parsing"],"sub_categories":["Useful awesome list for Dotnet cli"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszaghi%2FFLAP","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fszaghi%2FFLAP","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszaghi%2FFLAP/lists"}