Changeset 15596


Ignore:
Timestamp:
01/11/18 16:31:58 (11 months ago)
Author:
jkarder
Message:

#2640: updated prepareProjectsForMono.sh

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/prepareProjectsForMono.sh

    r15135 r15596  
    11# 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# --------------------------------------------
     4orig="<Reference Include=\"System.Windows.Forms.DataVisualization\" \/>"
     5repl="<Reference Include=\"System.Windows.Forms.DataVisualization\"><HintPath>..\/..\/bin\/System.Windows.Forms.DataVisualization.dll<\/HintPath><\/Reference>"
    46
    5 for filename in $(find . -name '*.csproj')
     7for csprojfile in $(find . -name '*.csproj')
    68do   
    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
    913done;
    1014
     15# remove projects that do not build
     16# ---------------------------------
     17UNAMESTR=`uname`
    1118
    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
     19if [[ "$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"
    1728
    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"
    2043
    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"
    3557else
    36    echo "Unsupported operating system, compiling HeuristicLab may not work!"
     58  echo "Unsupported operating system, compiling HeuristicLab may not work!"
    3759fi
    3860
    39 # switch to MultiDocument MainForm type as Docking doesn't properly work on Linux
    40 sed "s/DockingMainForm/MultipleDocumentMainForm/g" HeuristicLab.Optimizer/3.3/Properties/Settings.settings > tmp
    41 mv tmp HeuristicLab.Optimizer/3.3/Properties/Settings.settings
     61# switch to MultipleDocumentMainForm type as DockingMainForm does not properly work with Mono
     62sed "s/DockingMainForm/MultipleDocumentMainForm/g" "HeuristicLab.Optimizer/3.3/Properties/Settings.settings" > tmp
     63mv tmp "HeuristicLab.Optimizer/3.3/Properties/Settings.settings"
    4264
    43 sed "s/DockingMainForm/MultipleDocumentMainForm/g" HeuristicLab.Optimizer/3.3/Properties/Settings.Designer.cs > tmp
    44 mv tmp HeuristicLab.Optimizer/3.3/Properties/Settings.Designer.cs
     65sed "s/DockingMainForm/MultipleDocumentMainForm/g" "HeuristicLab.Optimizer/3.3/Properties/Settings.Designer.cs" > tmp
     66mv tmp "HeuristicLab.Optimizer/3.3/Properties/Settings.Designer.cs"
Note: See TracChangeset for help on using the changeset viewer.