aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-21Simplify default for simple projects and experienced user but use --verbose ↵John S. Urban
to add the kitchen sink Simplified the defaults to be able to use auto-discovery and the simplest manifest (fpm.toml) file but at the same time provide an easy way to get a fully populated default structure (ie. one that adds the example/ directory) and also provides a heavily annotated manifest that helps with understanding how to create a more complex project and also understanding how your simple project can grow beyond a basic default package (one of the first questions someone will have even if they are not ready to use it all is will using `fpm` be too restrictive?)
2020-12-20Changed so example/ directory is not created by defaultinit current directory[i]
Also changed the sample program to demo.f90 and the test directory to check.f90 so if they are added with --backfill that reasonable names are created without modifying the manifest file (fpm.toml) so they can will still be built with auto-discovery reasonably. Note test/check.f90 was used instead of test/test.f90 because any program called "test" on ULS platforms is very problematic. After having a few users without `fpm` experience try it, they seem to be looking more for a template to choose and tools to help move existing projects to fpm (or move fpm to work more with existing projects) than what "new" currently does. I think this will change as more programs originate with fpm instead of needing to be moved to it, but instead of having "new" do everything having templates like some of the samples already available pulled down, possibly even with an interactive interface seems like a better long-term direction.
2020-12-18try Ford documentationinit current directory[i]
2020-12-18Update subcommand "new" to reflect the addition of support for the example/ ↵init current directory[i]
directory The "new" subcommand was updated with an --example switch in line with the other standard directories. Corresponding changes were made to the documentation and the test of the "new" subcommand. This reflexs the addition of --example to the "run" subcommand and the model changes to automatically build applications found in the example/ directory.
2020-12-18Merge pull request #307 from LKedward/fix-object-collisionLaurence Kedward
Fix: program object file collision
2020-12-18Merge pull request #257 from awvwgk/installSebastian Ehlert
Implement fpm-install command
2020-12-16Bump patch number for new releaseLKedward
2020-12-16Revert unnecessary changes for PRLKedward
2020-12-16Fix: collision between app and example executables of the same nameLKedward
Use a separate example subdirectory in 'build' to store example executables.
2020-12-15Update: with_example demo to test for object collisionLKedward
2020-12-15Fix: name collision between program objectsLKedward
Simplify object naming rules to avoid issue where programs in different top-level folders can have the same object file name. Fixes #305
2020-12-14Implement fpm install --list to see installable targetsSebastian Ehlert
2020-12-14Merge pull request #294 from LKedward/add-f-suffixLaurence Kedward
Add: support for detecting .f and .F files
2020-12-14Update: str_ends_with as pure functionsLaurence Kedward
Co-authored-by: Milan Curcic <caomaco@gmail.com>
2020-12-14Merge pull request #289 from everythingfunctional/bootstrap_compiler_supportBrad Richardson
Add support for same compilers as Fortran version to Haskell version
2020-12-13Check if the package is actually installable for fpm-installSebastian Ehlert
2020-12-13Add fpm-install to cli help pageSebastian Ehlert
2020-12-12Merge pull request #303 from LKedward/fix-parsingSebastian Ehlert
Fixes to source parsing
2020-12-12Merge pull request #304 from awvwgk/manifest-docLaurence Kedward
Remove note on not supported dependencies in program targets
2020-12-12Remove note on not supported dependencies in program targetsSebastian Ehlert
2020-12-12Merge pull request #300 from urbanjost/nocoarrayLaurence Kedward
Remove -coarray=single option from ifort compiler default options
2020-12-12Fix: Ignore empty source filesLKedward
Targets not generated for empty source files
2020-12-12Fix: source parsingLKedward
Fixes issue where assignment statements with variables called 'program' and 'module' are detected as program and module declaration statements.
2020-12-11Remove -coarray=single option from ifort compiler default optionsinit current directory[i]
With the intel compiler ifort(1) use of the -coarray=single creates an executable with images instead of just allowing the coarray syntax as with the GNU gfortran compiler so it is being removed as a default option and will be implemented via a more general option allowing for user-specified compiler options. As it is, use of the option requires developer platforms to support auxiliary libraries not always available, and coarray does not appear to be on all platforms supported by ifort (e.g. MacOS). 2020-12-11
2020-12-10feat(boostrap-ifort): remove coarray option from ifortBrad Richardson
2020-12-10feat(bootstrap): try multiple ways to get compiler version infoBrad Richardson
2020-12-10Add fpm-install to fpm --list outputSebastian Ehlert
- update documentation to include default settings
2020-12-10Try to use local install path with fallback to platform defaultsSebastian Ehlert
- use $HOME/.local as user prefix on Unix platforms (fallback is /usr/local) - use %APPDATA%\local as user prefix on Windows (fallback is C:\)
2020-12-10Add fpm-install command to fpm-manualSebastian Ehlert
2020-12-10Add unit tests for installer commandSebastian Ehlert
- abstract some platform specifics in the unit tests
2020-12-10Let fpm install itself on CI-runsSebastian Ehlert
2020-12-10Extend documentation and add tests for install configurationSebastian Ehlert
2020-12-10Implement fpm-install commandSebastian Ehlert
- allow installing of executables - optionally install library and modules if specified in manifest - add install table to manifest reference
2020-12-10Merge pull request #280 from awvwgk/exampleSebastian Ehlert
Create specification for example section and implement example applications for Fortran and Haskell version
2020-12-10Include example programs in dependency treeSebastian Ehlert
2020-12-10Check for duplicates between executable and example targetsSebastian Ehlert
2020-12-10Add build.auto-examples to manifest referenceSebastian Ehlert
2020-12-10Use correct option to auto-discover example programsSebastian Ehlert
Co-authored-by: Laurence Kedward <laurence.kedward@bristol.ac.uk>
2020-12-10Implement example executables also for Haskell fpmSebastian Ehlert
2020-12-10Implement example applications in Fortran fpmSebastian Ehlert
2020-12-10Create specification for example sectionSebastian Ehlert
2020-12-10Dependency handling (#266)Sebastian Ehlert
- create a dependency tree data type with serde functionality - allow translation from and to TOML of dependency tree - test round trips for dependency cache - implement iterative fetching of each dependency level - update dependencies in fpm-update (rudimentary implementation only) - allow removing the cache from the command line - use dependency tree for fpm-build model - add fpm-update to fpm-help/fpm-list output
2020-12-10Implement check for duplicated program names (#286)Sebastian Ehlert
- check within an executable/test array for duplicate programs - also check that the program name is not empty or contains ascii control chars
2020-12-10Merge pull request #293 from LKedward/fix-toml-checkLaurence Kedward
Fix: missing error check after `new_package` call
2020-12-10Add: support for detecting .f filesLKedward
2020-12-10Fix: missing error check after `new_package` callLKedward
Fixes silent failure due to invalid top-level manifest keys
2020-12-10Merge pull request #292 from certik/helpLaurence Kedward
Specify the correct help for `fpm run -h`
2020-12-10Merge pull request #284 from LKedward/dev-docs-modelLaurence Kedward
Document model and backend for developers
2020-12-09feat(bootstrap-ifort): use `-coarray=single` by defaultBrad Richardson
2020-12-09Revert "fix(bootstrap-ifort): remove coarray option, it is not supported"Brad Richardson
This reverts commit f049ae6d8e4bfd58a5b69d692dd7e6273fd158af.