diff --git a/PACKAGING.md b/PACKAGING.md index 1dc580f5ff..065dbc3697 100644 --- a/PACKAGING.md +++ b/PACKAGING.md @@ -66,7 +66,6 @@ license = "MIT" author = "Jane Programmer" maintainer = "jane@example.com" copyright = "2020 Jane Programmer" -compiler = "gfortran" ``` The preamble includes some metadata, such as `license`, `author`, and similar, @@ -462,7 +461,6 @@ license = "MIT" author = "Jane Programmer" maintainer = "jane@example.com" copyright = "2020 Jane Programmer" -compiler = "gfortran" [library] source-dir="src" @@ -493,7 +491,6 @@ license = "MIT" author = "Jane Programmer" maintainer = "jane@example.com" copyright = "2020 Jane Programmer" -compiler = "gfortran" [library] source-dir="src" diff --git a/hello_complex/fpm.toml b/hello_complex/fpm.toml index 8408d3abcf..d18574562c 100644 --- a/hello_complex/fpm.toml +++ b/hello_complex/fpm.toml @@ -1,5 +1,4 @@ name = "hello_complex" -compiler = "gfortran" [library] source-dir="source" diff --git a/hello_world/fpm.toml b/hello_world/fpm.toml index d715850f85..b80e8d15c2 100644 --- a/hello_world/fpm.toml +++ b/hello_world/fpm.toml @@ -1,2 +1 @@ name = "hello_world" -compiler = "gfortran" diff --git a/src/Fpm.hs b/src/Fpm.hs index afe9a706ee..3fdf93ef25 100644 --- a/src/Fpm.hs +++ b/src/Fpm.hs @@ -47,8 +47,7 @@ import qualified Toml data Arguments = Arguments { command' :: Command, release :: Bool } data TomlSettings = TomlSettings { - tomlSettingsCompiler :: String - , tomlSettingsProjectName :: String + tomlSettingsProjectName :: String , tomlSettingsLibrary :: (Maybe Library) , tomlSettingsExecutables :: [Executable] , tomlSettingsTests :: [Executable] @@ -200,9 +199,7 @@ getDirectoriesFiles dirs exts = getDirectoryFilesIO "" newPatterns settingsCodec :: TomlCodec TomlSettings settingsCodec = TomlSettings - <$> Toml.string "compiler" - .= tomlSettingsCompiler - <*> Toml.string "name" + <$> Toml.string "name" .= tomlSettingsProjectName <*> Toml.dioptional (Toml.table libraryCodec "library") .= tomlSettingsLibrary @@ -227,16 +224,17 @@ executableCodec = toml2AppSettings :: TomlSettings -> Bool -> IO AppSettings toml2AppSettings tomlSettings release = do let projectName = tomlSettingsProjectName tomlSettings + let compiler = "gfortran" librarySettings <- getLibrarySettings $ tomlSettingsLibrary tomlSettings executableSettings <- getExecutableSettings (tomlSettingsExecutables tomlSettings) projectName testSettings <- getTestSettings $ tomlSettingsTests tomlSettings + buildPrefix <- makeBuildPrefix compiler release return AppSettings - { appSettingsCompiler = tomlSettingsCompiler tomlSettings + { appSettingsCompiler = compiler , appSettingsProjectName = projectName - , appSettingsBuildPrefix = "build" - if release then "release" else "debug" + , appSettingsBuildPrefix = buildPrefix , appSettingsFlags = if release then [ "-Wall" @@ -307,3 +305,9 @@ getTestSettings [] = do else return [] else return [] getTestSettings tests = return tests + +makeBuildPrefix :: String -> Bool -> IO String +makeBuildPrefix compiler release = + -- TODO Figure out what other info should be part of this + -- Probably version, and make sure to not include path to the compiler + return $ "build" compiler ++ "_" ++ if release then "release" else "debug"