- 
                Notifications
    You must be signed in to change notification settings 
- Fork 114
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Description
It would be very useful to pass compiler flags from the fpm.toml file directly to the compilation commands. It seems that currently it is possible to pass very specific flags such as -ffree-form but something more generic would be more flexible. For example
name = "my-fortran-project"
[fortran]
source-form = "free"
user-defined-flags = "-ffree-line-length-none"The new user-defined-flags would then be passed straight through to the compiler and the compiler allowed to catch any errors with the flags.
Possible Solution
get_feature_flags could handle a new feature user_defined_flags
function get_feature_flags(compiler, features) result(flags)
    type(compiler_t), intent(in) :: compiler
    type(fortran_features_t), intent(in) :: features
    character(:), allocatable :: flags
    flags = ""
    if (features%implicit_typing) then
        flags = flags // compiler%get_feature_flag("implicit-typing")
    else
        flags = flags // compiler%get_feature_flag("no-implicit-typing")
    end if
    if (features%implicit_external) then
        flags = flags // compiler%get_feature_flag("implicit-external")
    else
        flags = flags // compiler%get_feature_flag("no-implicit-external")
    end if
    if (allocated(features%source_form)) then
        flags = flags // compiler%get_feature_flag(features%source_form//"-form")
    end if
    if (allocated(features%user_defined_flags)) then
        flags = flags // " " // features%user_defined_flags
    end if
end function get_feature_flagsThis would of course require further changes to add user-defined-flags.  Could this be added everywhere source-form also is currently?
Additional Information
No response
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request