- Timestamp:
- 01/11/18 16:31:58 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/prepareProjectsForMono.sh
r15135 r15596 1 1 # add hint path for DataVisualization assembly 2 ORIG="<Reference Include=\"System.Windows.Forms.DataVisualization\" \/>" 3 REP="<Reference Include=\"System.Windows.Forms.DataVisualization\" > \n <HintPath>..\/..\/bin\/System.Windows.Forms.DataVisualization.dll<\/HintPath> \n <\/Reference>" 2 # define __MonoCS__ 3 # -------------------------------------------- 4 orig="<Reference Include=\"System.Windows.Forms.DataVisualization\" \/>" 5 repl="<Reference Include=\"System.Windows.Forms.DataVisualization\"><HintPath>..\/..\/bin\/System.Windows.Forms.DataVisualization.dll<\/HintPath><\/Reference>" 4 6 5 for filename in $(find . -name '*.csproj')7 for csprojfile in $(find . -name '*.csproj') 6 8 do 7 sed "s/$ORIG/$REP/g" $filename > tmp 8 mv tmp $filename 9 sed -e "s/$orig/$repl/g" \ 10 -e "s@<DefineConstants>\(.*\)</DefineConstants>@<DefineConstants>\1;__MonoCS__</DefineConstants>@g" \ 11 $csprojfile > tmp 12 mv tmp $csprojfile 9 13 done; 10 14 15 # remove projects that do not build 16 # --------------------------------- 17 UNAMESTR=`uname` 11 18 12 # remove projects that do not build 13 unamestr=`uname` 14 if [[ "$unamestr" == 'Darwin' ]]; then 15 awk '/ICSharpCode.AvalonEdit-5.0.1|HeuristicLab.AvalonEdit-5.0.1|HeuristicLab.SharpDX-2.6.3/ {while (/ICSharpCode.AvalonEdit-5.0.1|HeuristicLab.AvalonEdit-5.0.1|HeuristicLab.SharpDX-2.6.3/ && getline>0) ; next} 1' HeuristicLab.ExtLibs.sln > tmp 16 mv tmp HeuristicLab.ExtLibs.sln 19 if [[ "$UNAMESTR" == 'Linux' || "$UNAMESTR" == 'Darwin' ]]; then 20 sed `# projects` \ 21 -e '/HeuristicLab.AvalonEdit-5.0.1/{N;d;}' \ 22 -e '/ICSharpCode.AvalonEdit-5.0.1/{N;d;}' \ 23 `# project configurations` \ 24 -e '/644B1CCE-1B2A-4C61-B0E3-A2EDB89DF872/d' `# HeuristicLab.AvalonEdit-5.0.1` \ 25 -e '/255C7DEB-3C98-4BC2-92D4-B683F82A7E52/d' `# ICSharpCode.AvalonEdit-5.0.1` \ 26 "HeuristicLab.ExtLibs.sln" > tmp 27 mv tmp "HeuristicLab.ExtLibs.sln" 17 28 18 awk '/HeuristicLab.Problems.BinPacking.Views-3.3|HeuristicLab.Problems.ExternalEvaluation-3.4|HeuristicLab.Problems.ExternalEvaluation.GP-3.5|HeuristicLab.Problems.ExternalEvaluation.Views-3.4|HeuristicLab.Problems.ExternalEvaluation.Matlab-3.3/ {while (/HeuristicLab.Problems.BinPacking.Views-3.3|HeuristicLab.Problems.ExternalEvaluation-3.4|HeuristicLab.Problems.ExternalEvaluation.GP-3.5|HeuristicLab.Problems.ExternalEvaluation.Views-3.4|HeuristicLab.Problems.ExternalEvaluation.Matlab-3.3/ && getline>0) ; next} 1' "HeuristicLab 3.3.sln" > tmp 19 mv tmp "HeuristicLab 3.3.sln" 29 sed `# projects` \ 30 -e '/HeuristicLab.Problems.BinPacking.Views-3.3/{N;d;}' \ 31 -e '/HeuristicLab.Problems.ExternalEvaluation-3.4/{N;d;}' \ 32 -e '/HeuristicLab.Problems.ExternalEvaluation.GP-3.5/{N;d;}' \ 33 -e '/HeuristicLab.Problems.ExternalEvaluation.Matlab-3.3/{N;d;}' \ 34 -e '/HeuristicLab.Problems.ExternalEvaluation.Views-3.4/{N;d;}' \ 35 `# project configurations` \ 36 -e '/8CFC7A61-E214-44DC-96B3-4CEA9B8E958E/d' `# HeuristicLab.Problems.BinPacking.Views-3.3` \ 37 -e '/8A0B2A2B-47A7-410D-97A0-4296293BB00D/d' `# HeuristicLab.Problems.ExternalEvaluation-3.4` \ 38 -e '/64CC53AC-156B-4D8A-8DB0-B68990BEA4D3/d' `# HeuristicLab.Problems.ExternalEvaluation.GP-3.5` \ 39 -e '/362A5DC3-969D-43FB-A552-D2F52B780188/d' `# HeuristicLab.Problems.ExternalEvaluation.Matlab-3.3` \ 40 -e '/F7E5B975-FDF2-45A4-91CB-FF6D3C33D65E/d' `# HeuristicLab.Problems.ExternalEvaluation.Views-3.4` \ 41 "HeuristicLab 3.3.sln" > tmp 42 mv tmp "HeuristicLab 3.3.sln" 20 43 21 #remove code from HeuristicLab.CodeEditor that depends on WPF and therefore does not work with Mono 22 sed -e '/ITextMarker.cs/d' -e '/MethodDefinitionReadOnlySectionProvider.cs/d' -e '/GoToLineDialog/{N;N;d;}' -e '/TextMarkerService.cs/d' -e '/Compile Include\=\"LanguageFeatures/d' -e '/AvalonEditWrapper.xaml.cs/{N;N;d;}' -e '/AvalonEditWrapper.xaml/{N;N;N;d;}' -e '/CodeViewer/{N;N;d;}' -e '/\"CodeEditor.cs\"/{N;N;d;}' -e '/\"CodeEditor.Designer.cs/{N;N;d;}' HeuristicLab.CodeEditor/3.4/HeuristicLab.CodeEditor-3.4.csproj > tmp 23 mv tmp HeuristicLab.CodeEditor/3.4/HeuristicLab.CodeEditor-3.4.csproj 24 25 elif [[ "$unamestr" == 'Linux' ]]; then 26 sed -e '/ICSharpCode.AvalonEdit-5.0.1/,+1d' -e '/HeuristicLab.SharpDX-2.6.3/,+1d' HeuristicLab.ExtLibs.sln > tmp 27 mv tmp HeuristicLab.ExtLibs.sln 28 sed -e '/HeuristicLab.Problems.BinPacking.Views-3.3/,+1d' -e '/HeuristicLab.Problems.ExternalEvaluation-3.4/,+1d' -e '/HeuristicLab.Problems.ExternalEvaluation.GP-3.5/,+1d' -e '/HeuristicLab.Problems.ExternalEvaluation.Views-3.4/,+1d' -e '/HeuristicLab.Problems.ExternalEvaluation.Matlab-3.3/,+1d' "HeuristicLab 3.3.sln" > tmp 29 mv tmp "HeuristicLab 3.3.sln" 30 31 #remove code from HeuristicLab.CodeEditor that depends on WPF and therefore does not work with Mono 32 sed -e '/ITextMarker.cs/d' -e '/MethodDefinitionReadOnlySectionProvider.cs/d' -e '/GoToLineDialog/,+2d' -e '/TextMarkerService.cs/d' -e '/Compile Include\=\"LanguageFeatures/d' -e '/AvalonEditWrapper.xaml.cs/,+2d' -e '/AvalonEditWrapper.xaml/,+3d' -e '/CodeViewer/,+2d' -e '/\"CodeEditor.cs/,+2d' -e '/\"CodeEditor.Designer.cs/,+2d' HeuristicLab.CodeEditor/3.4/HeuristicLab.CodeEditor-3.4.csproj > tmp 33 mv tmp HeuristicLab.CodeEditor/3.4/HeuristicLab.CodeEditor-3.4.csproj 34 44 # remove code from HeuristicLab.CodeEditor that depends on WPF and therefore does not work with Mono 45 sed -e '/ITextMarker.cs/d' \ 46 -e '/MethodDefinitionReadOnlySectionProvider.cs/d' \ 47 -e '/GoToLineDialog/{N;N;d;}' \ 48 -e '/TextMarkerService.cs/d' \ 49 -e '/Compile Include\=\"LanguageFeatures/d' \ 50 -e '/AvalonEditWrapper.xaml.cs/{N;N;d;}' \ 51 -e '/AvalonEditWrapper.xaml/{N;N;N;d;}' \ 52 -e '/CodeViewer/{N;N;d;}' \ 53 -e '/\"CodeEditor.cs/{N;N;d;}' \ 54 -e '/\"CodeEditor.Designer.cs/{N;N;d;}' \ 55 "HeuristicLab.CodeEditor/3.4/HeuristicLab.CodeEditor-3.4.csproj" > tmp 56 mv tmp "HeuristicLab.CodeEditor/3.4/HeuristicLab.CodeEditor-3.4.csproj" 35 57 else 36 58 echo "Unsupported operating system, compiling HeuristicLab may not work!" 37 59 fi 38 60 39 # switch to Multi Document MainForm type as Docking doesn't properly work on Linux40 sed "s/DockingMainForm/MultipleDocumentMainForm/g" HeuristicLab.Optimizer/3.3/Properties/Settings.settings> tmp41 mv tmp HeuristicLab.Optimizer/3.3/Properties/Settings.settings61 # switch to MultipleDocumentMainForm type as DockingMainForm does not properly work with Mono 62 sed "s/DockingMainForm/MultipleDocumentMainForm/g" "HeuristicLab.Optimizer/3.3/Properties/Settings.settings" > tmp 63 mv tmp "HeuristicLab.Optimizer/3.3/Properties/Settings.settings" 42 64 43 sed "s/DockingMainForm/MultipleDocumentMainForm/g" HeuristicLab.Optimizer/3.3/Properties/Settings.Designer.cs> tmp44 mv tmp HeuristicLab.Optimizer/3.3/Properties/Settings.Designer.cs65 sed "s/DockingMainForm/MultipleDocumentMainForm/g" "HeuristicLab.Optimizer/3.3/Properties/Settings.Designer.cs" > tmp 66 mv tmp "HeuristicLab.Optimizer/3.3/Properties/Settings.Designer.cs"
Note: See TracChangeset
for help on using the changeset viewer.