Browse Source

Build: restructure FAKE build file to group components

pull/222/head
Christoph Ruegg 12 years ago
parent
commit
79a4f77cb0
  1. 107
      build.fsx

107
build.fsx

@ -1,5 +1,18 @@
// --------------------------------------------------------------------------------------
// __ __ _ _ _ _ ______ _______
// | \/ | | | | | | \ | | ____|__ __|
// | \ / | __ _| |_| |__ | \| | |__ | |
// | |\/| |/ _` | __| '_ \ | . ` | __| | |
// | | | | (_| | |_| | | |_| |\ | |____ | |
// |_| |_|\__,_|\__|_| |_(_)_| \_|______| |_|
//
// Math.NET Numerics - http://numerics.mathdotnet.com
// Copyright (c) Math.NET - Open Source MIT/X11 License
// FAKE build script, see http://fsharp.github.io/FAKE
//
// --------------------------------------------------------------------------------------
// Prelude
// --------------------------------------------------------------------------------------
#I "packages/FAKE/tools"
@ -13,6 +26,26 @@ open System
Environment.CurrentDirectory <- __SOURCE_DIRECTORY__
Target "Start" DoNothing
Target "Clean" (fun _ ->
CleanDirs [ "obj" ]
CleanDirs [ "out/api"; "out/docs"; "out/packages" ]
CleanDirs [ "out/lib/Net35"; "out/lib/Net40"; "out/lib/Profile47"; "out/lib/Profile344" ]
CleanDirs [ "out/test/Net35"; "out/test/Net40"; "out/test/Profile47"; "out/test/Profile344" ]
CleanDirs [ "out/lib-signed/Net40" ]
CleanDirs [ "out/test-signed/Net40" ])
Target "RestorePackages" RestorePackages
Target "Prepare" DoNothing
"Start"
=?> ("Clean", not (hasBuildParam "incremental"))
==> "RestorePackages"
==> "Prepare"
// --------------------------------------------------------------------------------------
// Math.NET Numerics Core
// --------------------------------------------------------------------------------------
// PROJECT INFO
@ -89,18 +122,7 @@ let fsharpSignedPack =
"..\..\src\FSharp\**\*.fs", Some "src/Common", None ] }
// PREPARE
Target "Start" DoNothing
Target "RestorePackages" RestorePackages
Target "Clean" (fun _ ->
CleanDirs [ "obj" ]
CleanDirs [ "out/api"; "out/docs"; "out/packages" ]
CleanDirs [ "out/lib/Net35"; "out/lib/Net40"; "out/lib/Profile47"; "out/lib/Profile344" ]
CleanDirs [ "out/test/Net35"; "out/test/Net40"; "out/test/Profile47"; "out/test/Profile344" ]
CleanDirs [ "out/lib-signed/Net40" ]
CleanDirs [ "out/test-signed/Net40" ])
// VERSION
Target "AssemblyInfo" (fun _ ->
BulkReplaceAssemblyInfoVersions "src/" (fun f ->
@ -109,13 +131,7 @@ Target "AssemblyInfo" (fun _ ->
AssemblyFileVersion = assemblyVersion
AssemblyInformationalVersion = packageVersion }))
Target "Prepare" DoNothing
"Start"
=?> ("Clean", not (hasBuildParam "incremental"))
==> "RestorePackages"
==> "AssemblyInfo"
==> "Prepare"
"Prepare" ==> "AssemblyInfo"
// BUILD
@ -131,6 +147,7 @@ Target "BuildSigned" (fun _ -> buildSigned !! "MathNet.Numerics.sln")
Target "Build" DoNothing
"Prepare"
==> "AssemblyInfo"
=?> ("BuildNet35", hasBuildParam "net35")
=?> ("BuildSigned", hasBuildParam "signed" || hasBuildParam "release")
=?> ("BuildAll", hasBuildParam "all" || hasBuildParam "release")
@ -138,19 +155,6 @@ Target "Build" DoNothing
==> "Build"
// NATIVE BUILD
let buildx86 subject = MSBuild "" (if hasBuildParam "incremental" then "Build" else "Rebuild") [("Configuration","Release"); ("Platform","Win32")] subject |> ignore
let buildx64 subject = MSBuild "" (if hasBuildParam "incremental" then "Build" else "Rebuild") [("Configuration","Release"); ("Platform","x64")] subject |> ignore
Target "BuildNativex86" (fun _ -> buildx86 !! "MathNet.Numerics.NativeProviders.sln")
Target "BuildNativex64" (fun _ -> buildx64 !! "MathNet.Numerics.NativeProviders.sln")
Target "BuildNative" DoNothing
"Prepare" ==> "BuildNativex86" ==> "BuildNative"
"Prepare" ==> "BuildNativex64" ==> "BuildNative"
// TEST
let test target =
@ -165,7 +169,24 @@ Target "Test" (fun _ -> test !! "out/test/**/*UnitTests*.dll")
"Build" ==> "Test"
// NATIVE TEST
// --------------------------------------------------------------------------------------
// Math.NET Numerics Native Providers
// --------------------------------------------------------------------------------------
// BUILD
let buildx86 subject = MSBuild "" (if hasBuildParam "incremental" then "Build" else "Rebuild") [("Configuration","Release"); ("Platform","Win32")] subject |> ignore
let buildx64 subject = MSBuild "" (if hasBuildParam "incremental" then "Build" else "Rebuild") [("Configuration","Release"); ("Platform","x64")] subject |> ignore
Target "BuildNativex86" (fun _ -> buildx86 !! "MathNet.Numerics.NativeProviders.sln")
Target "BuildNativex64" (fun _ -> buildx64 !! "MathNet.Numerics.NativeProviders.sln")
Target "BuildNative" DoNothing
"Prepare" ==> "BuildNativex86" ==> "BuildNative"
"Prepare" ==> "BuildNativex64" ==> "BuildNative"
// TEST
Target "TestNativex86" (fun _ ->
ActivateFinalTarget "CloseTestRunner"
@ -196,7 +217,11 @@ FinalTarget "CloseTestRunner" (fun _ ->
"BuildNativex64" ==> "TestNativex64" ==> "TestNative"
// DOCUMENTATION
// --------------------------------------------------------------------------------------
// Documentation
// --------------------------------------------------------------------------------------
// DOCS
Target "CleanDocs" (fun _ -> CleanDirs ["out/docs"])
@ -231,6 +256,10 @@ Target "Api" (fun _ ->
"Build" ==> "CleanApi" ==> "Api"
// --------------------------------------------------------------------------------------
// Packages
// --------------------------------------------------------------------------------------
// ZIP
Target "Zip" (fun _ ->
@ -296,8 +325,10 @@ Target "NuGet" (fun _ ->
"Build" ==> "NuGet"
// PUBLISH
// --------------------------------------------------------------------------------------
// Release/Publishing
// These targets are interesting only for maintainers and require write permissions
// --------------------------------------------------------------------------------------
Target "PublishTag" (fun _ ->
// inspired by Deedle/tpetricek
@ -335,7 +366,9 @@ Target "Publish" DoNothing
"PublishApi" ==> "Publish"
// RUN
// --------------------------------------------------------------------------------------
// Default Targets
// --------------------------------------------------------------------------------------
Target "All" DoNothing

Loading…
Cancel
Save