Skip to content

Commit 3bdccf8

Browse files
authored
Merge pull request #11 from LKedward/fc21-gsoc-fpm
Draft abstract for fpm GSoC project
2 parents a839820 + 2621c11 commit 3bdccf8

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# FortranCon2021: Handling Compiler Flags in fpm (GSoC)
2+
3+
__Presenter:__ [Jakub Jelinek](https://github.com/kubajj)
4+
5+
__Co-Authors:__ [Laurence Kedward](https://github.com/LKedward), [Brad Richardson](https://github.com/everythingfunctional), [Sebastian Ehlert](https://github.com/awvwgk)
6+
7+
__Session:__ Fortran-lang minisymposium (10 min)
8+
9+
__Abstract:__
10+
The Fortran Package Manager (fpm) aims to be a Fortran-specific build system to simplify compiling Fortran code and using third-party dependencies.
11+
Fpm is currently in alpha development status and supports a wide range of features.
12+
Recent work, undertaken as part of the Google Summer of Code programme, has implemented the syntax and logic required to provide fine-grain control of compiler flags by package maintainers.
13+
Specifying compiler flags for fpm projects is a complex problem due the existence of multiple Fortran compilers, each with their own set of flags.
14+
Moveover, package maintainers often need to specify different flags for a variety of build profiles, such as ‘debug’ and ‘release’, as well as across a variety of target operating systems.
15+
What is more, some packages require specific compiler flags other than the default ones built into fpm and complex projects with various package dependencies might need specific flags for each package, therefore a priority system for compiler profiles was designed and implemented.
16+
17+
In this presentation, detail is given on the new functionality for specifying compiler flags in fpm including: the syntax for the manifest file; the behaviour for package dependencies; and common use-case examples.

0 commit comments

Comments
 (0)