From 6c763693951a8cc14c111413ea6f7f97ec21f79c Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Thu, 11 Nov 2010 22:48:13 +0100 Subject: [PATCH] Ci: make projects build to a common out folder with a decent folder structure out of the box --- .gitignore | 3 ++- build/readme.mkd | 30 ++++++++++++++++++++++ src/FSharp/FSharp.fsproj | 5 ++-- src/FSharpUnitTests/FSharpUnitTests.fsproj | 6 ++--- src/MSUnitTests/MSUnitTests.csproj | 4 +-- src/MathNet.Numerics.sln | 11 ++++++++ src/Numerics/Numerics.csproj | 6 ++--- src/Silverlight/Silverlight.csproj | 7 ++--- src/UnitTests/UnitTests.csproj | 4 +-- 9 files changed, 60 insertions(+), 16 deletions(-) create mode 100644 build/readme.mkd diff --git a/.gitignore b/.gitignore index 9177c990..5dafca16 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ bin *.vsdoc *.XML Version1.cs -src/Numerics/Algorithms/LinearAlgebra/Mkl/*.cs \ No newline at end of file +src/Numerics/Algorithms/LinearAlgebra/Mkl/*.cs +out \ No newline at end of file diff --git a/build/readme.mkd b/build/readme.mkd new file mode 100644 index 00000000..bf5cb8de --- /dev/null +++ b/build/readme.mkd @@ -0,0 +1,30 @@ +# Building Math.NET Numerics + +## Managed + +The Math.NET Numerics solution is structured such that it is best to compile the whole +solution (MathNet.Numerics.sln) directly in VisualStudio or by MsBuild. + +All artifacts will be placed in a generated "out" directory in the solution root, +structured as follows: + +/lib/Net40: Binaries for .Net 4.0 +/lib/SL4: Binaries for Silverlight 4 + +/debug/Net40: Debug Build for .Net 4.0 +/debug/SL4: Debug Build for Silverlight 4 + +/test/Net40: Unit Tests for .Net 4.0 +/test/debug/Net40: Debug Build Unit Tests for .Net 4.0 + +Windows Phone 7 builds will likely be added as "WP" subdirectories. +Note that there are currently only unit tests for .Net 4.0 builds available. + +## Native Bindings + +TODO + +## Continuous Integration + +We use TeamCity both for continuous integration and release builds & deployments, +the configuration and scripts are located in this folder and subfolders \ No newline at end of file diff --git a/src/FSharp/FSharp.fsproj b/src/FSharp/FSharp.fsproj index 0da44018..353e005d 100644 --- a/src/FSharp/FSharp.fsproj +++ b/src/FSharp/FSharp.fsproj @@ -18,7 +18,7 @@ full false false - bin\Debug\ + ..\..\out\debug\Net40\ DEBUG;TRACE 3 @@ -26,9 +26,10 @@ pdbonly true true - bin\Release\ + ..\..\out\lib\Net40\ TRACE 3 + ..\..\out\lib\Net40\MathNet.Numerics.FSharp.xml MathNet.Numerics.FSharp.XML diff --git a/src/FSharpUnitTests/FSharpUnitTests.fsproj b/src/FSharpUnitTests/FSharpUnitTests.fsproj index 2080d67e..34b6fed9 100644 --- a/src/FSharpUnitTests/FSharpUnitTests.fsproj +++ b/src/FSharpUnitTests/FSharpUnitTests.fsproj @@ -8,7 +8,7 @@ {f2f8032b-a31d-4e33-a05e-f2cdcbfaa75d} Exe FSharpUnitTests - FSharpUnitTests + MathNet.Numerics.FSharp.UnitTests v4.0 FSharpUnitTests @@ -18,7 +18,7 @@ full false false - bin\Debug\ + ..\..\out\test\debug\Net40\ DEBUG;TRACE 3 @@ -26,7 +26,7 @@ pdbonly true true - bin\Release\ + ..\..\out\test\Net40\ TRACE 3 diff --git a/src/MSUnitTests/MSUnitTests.csproj b/src/MSUnitTests/MSUnitTests.csproj index 4d2477df..0392e84f 100644 --- a/src/MSUnitTests/MSUnitTests.csproj +++ b/src/MSUnitTests/MSUnitTests.csproj @@ -19,7 +19,7 @@ true full false - bin\Debug\ + ..\..\out\test\debug\Net40\ DEBUG;TRACE prompt 4 @@ -27,7 +27,7 @@ pdbonly true - bin\Release\ + ..\..\out\test\Net40\ TRACE prompt 4 diff --git a/src/MathNet.Numerics.sln b/src/MathNet.Numerics.sln index 87265ee2..935903e9 100644 --- a/src/MathNet.Numerics.sln +++ b/src/MathNet.Numerics.sln @@ -24,6 +24,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{4D50FB34-10BC-495A-8B2F-482E34B4D771}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{49EE74BD-301F-4C3B-B76A-07F90CC88CE7}" +EndProject Global GlobalSection(TestCaseManagementSettings) = postSolution CategoryFile = MathNet.Numerics.vsmdi @@ -69,4 +73,11 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {BC81EA37-8EE6-4BF9-B8A9-B30497AEF8B1} = {49EE74BD-301F-4C3B-B76A-07F90CC88CE7} + {8239A6FF-1EF3-4DA4-A860-95C392DD6899} = {49EE74BD-301F-4C3B-B76A-07F90CC88CE7} + {F2F8032B-A31D-4E33-A05E-F2CDCBFAA75D} = {4D50FB34-10BC-495A-8B2F-482E34B4D771} + {624FB757-A724-4B0D-85EB-F0563CE43A33} = {4D50FB34-10BC-495A-8B2F-482E34B4D771} + {8C9A5D3F-A20C-4D24-A09C-98E187A8D720} = {4D50FB34-10BC-495A-8B2F-482E34B4D771} + EndGlobalSection EndGlobal diff --git a/src/Numerics/Numerics.csproj b/src/Numerics/Numerics.csproj index ca93c503..ef2b86d8 100644 --- a/src/Numerics/Numerics.csproj +++ b/src/Numerics/Numerics.csproj @@ -39,7 +39,7 @@ true full false - bin\Debug\ + ..\..\out\debug\Net40\ TRACE;DEBUG prompt 4 @@ -50,11 +50,11 @@ pdbonly true - bin\Release\ + ..\..\out\lib\Net40\ TRACE prompt 4 - MathNet.Numerics.XML + ..\..\out\lib\Net40\MathNet.Numerics.xml AllRules.ruleset diff --git a/src/Silverlight/Silverlight.csproj b/src/Silverlight/Silverlight.csproj index 548d059a..13653ed3 100644 --- a/src/Silverlight/Silverlight.csproj +++ b/src/Silverlight/Silverlight.csproj @@ -10,7 +10,7 @@ Library Properties MathNet.Numerics - MathNet.Numerics.Silverlight + MathNet.Numerics Silverlight v4.0 $(TargetFrameworkVersion) @@ -28,7 +28,7 @@ true full false - Bin\Debug + ..\..\out\debug\SL4\ DEBUG;TRACE;SILVERLIGHT true true @@ -38,12 +38,13 @@ pdbonly true - Bin\Release + ..\..\out\lib\SL4\ TRACE;SILVERLIGHT true true prompt 4 + ..\..\out\lib\SL4\MathNet.Numerics.xml diff --git a/src/UnitTests/UnitTests.csproj b/src/UnitTests/UnitTests.csproj index 9b5f591e..13e885d3 100644 --- a/src/UnitTests/UnitTests.csproj +++ b/src/UnitTests/UnitTests.csproj @@ -39,7 +39,7 @@ true full false - bin\Debug\ + ..\..\out\test\debug\Net40\ DEBUG;TRACE prompt 4 @@ -49,7 +49,7 @@ pdbonly true - bin\Release\ + ..\..\out\test\Net40\ TRACE prompt 4