FsToml is new, lighweight project file for F#.
Warning! FsToml is experimental project, not recommended to use in production environment
Name = 'FantasticApp'
OutputType = 'Exe'
FrameworkVersion = '4.5'
Files = [
{ Compile = "src/file.fs" },
{ Compile = "src/file2.fs", Link = "src/uselessLink.fs" },
{ Compile = "src/file3.fs", Sig = "src/file3.fsi" },
{ None = "src/script.fsx", Private = true },
]
References = [
{ Reference = "System" },
{ Reference = "FSharp.Core" },
{ Project = "Deppy.fstoml" },
{ Reference = "lib/Fable.Core.dll", Private = true },
{ Package = "Nett" }
]
DebugSymbols = true
DebugType = 'full'
Optimize = false
NoWarn = [52, 40]
OtherFlags = [ '--warnon:1182' ]
[ net ]
DebugSymbols = false
[ net.Release ]
Constants = [ 'RELEASE', 'FABLE' ]
DebugType = 'pdbonly'
Optimize = true
[ net."4_5".Release.x86 ]
OutputPath = "bin/Release/x86"
[ net."4_5".Release.x64 ]
OutputPath = "bin/Release/x64"
fstoml
is abstraction layer on top of MsBuild providing more declarative, high level way of defining projects. Under the hood it's translated to normal MsBuild XML .props
file and imported by MsBuild whenever it's called. That makes fstoml
100% compatiable with all existing tooling, such as dotnet
CLI and different editors.
The project is hosted on GitHub where you can report issues, fork the project and submit pull requests.
The library is available under MIT license, which allows modification and redistribution for both commercial and non-commercial purposes.