From 04d5daca672a6a2e84854560d30b8a98b443bac4 Mon Sep 17 00:00:00 2001 From: Gaute Lindkvist Date: Wed, 6 Jan 2021 15:03:38 +0100 Subject: [PATCH] Create a new ApplicationExe project for the executable --- .github/workflows/ResInsightWithCache.yml | 6 +- .../ResInsightWithCacheManualPaths.yml | 66 +- .github/workflows/clang-format.yml | 9 +- .github/workflows/cmake-format.yml | 9 +- .github/workflows/spell-check.yml | 2 +- .misspell-fixer.ignore | 12 +- ApplicationExeCode/.clang-format | 79 ++ ApplicationExeCode/.clang-tidy | 5 + ApplicationExeCode/CMakeLists.txt | 714 ++++++++++++++++++ .../Resources/2DMap16x16.png | Bin .../Resources/2DMap16x16.xcf | Bin .../Resources/2DMapProjection16x16.png | Bin .../Resources/2DMapProjection16x16.xcf | Bin .../Resources/2DMaps16x16.png | Bin .../Resources/2DMaps16x16.xcf | Bin .../Resources/3DView16x16.png | Bin .../Resources/3DView16x16.xcf | Bin .../Resources/3DViewGeoMech16x16.png | Bin .../Resources/3DWindow.svg | 0 .../Resources/3DWindow24x24.png | Bin .../Resources/3DWindow24x24.xcf | Bin .../Resources/AICDValve16x16.png | Bin .../Resources/AICDValve16x16.xcf | Bin .../Resources/AnalysisPlot16x16.png | Bin .../Resources/AnalysisPlot16x16.xcf | Bin .../Resources/AnalysisPlotFilter16x16.png | Bin .../Resources/AnalysisPlotFilter16x16.xcf | Bin .../Resources/AnalysisPlots16x16.png | Bin .../Resources/AnalysisPlots16x16.xcf | Bin .../Resources/Annotations16x16.png | Bin .../Resources/AppLogo48x48.ico | Bin .../Resources/AppLogo48x48.png | Bin .../Resources/Axes16x16.png | Bin .../Resources/BottomAxis16x16.png | Bin .../Resources/BottomAxis16x16.xcf | Bin .../Resources/Calculator.svg | 0 .../Resources/CascadeWindows.svg | 0 .../Resources/Case.svg | 0 .../Resources/Case24x24.png | Bin .../Resources/Case48x48.png | Bin .../Resources/Case48x48.xcf | Bin .../Resources/Cases16x16.png | Bin .../Resources/Cases16x16.xcf | Bin .../Resources/CasingDesign16x16.png | Bin .../Resources/CasingDesign16x16.xcf | Bin .../Resources/CellFilter_Range.png | Bin .../Resources/CellFilter_Values.png | Bin .../Resources/CellResult.png | Bin .../Resources/Close.svg | 0 .../Resources/Columns1.png | Bin .../Resources/Columns2.png | Bin .../Resources/Columns3.png | Bin .../Resources/Columns4.png | Bin .../Resources/ColumnsUnlimited.png | Bin .../Resources/ComparisonView16x16.png | Bin .../Resources/CompletionsSymbol16x16.png | Bin .../Resources/CompletionsSymbol16x16.xcf | Bin .../Resources/ControlledView16x16.png | Bin .../Resources/Copy.png | Bin .../Resources/Copy.svg | 0 .../Resources/Copy.xcf | Bin .../Resources/CorrelationCrossPlot16x16.png | Bin .../Resources/CorrelationMatrixPlot16x16.png | Bin .../Resources/CorrelationPlots16x16.png | Bin .../Resources/CorrelationReportPlot16x16.png | Bin .../Resources/CorrelationTornadoPlot16x16.png | Bin .../Resources/CreateGridCaseGroup16x16.png | Bin .../Resources/CrossSection16x16.png | Bin .../Resources/CrossSections16x16.png | Bin .../Resources/CumulativePhaseDist16x16.png | Bin .../Resources/CumulativePhaseDist16x16.xcf | Bin .../Resources/DownView.svg | 0 .../Resources/DownViewArrow.png | Bin .../Resources/DownViewArrow.xcf | Bin .../Resources/DrawLightingDisabled.svg | 0 .../Resources/DrawLightingEnabled.svg | 0 .../Resources/DrawStyleHideCells.svg | 0 .../Resources/DrawStyleLines.svg | 0 .../Resources/DrawStyleMeshLines.svg | 0 .../Resources/DrawStyleSurface.svg | 0 .../Resources/EastView.svg | 0 .../Resources/EastViewArrow.png | Bin .../Resources/EastViewArrow.xcf | Bin .../Resources/EclipseInput48x48.png | Bin .../Resources/EdgeResult_1.png | Bin .../Resources/EditableWell.png | Bin .../Resources/EnsembleCurveSet16x16.png | Bin .../Resources/EnsembleCurveSet16x16.xcf | Bin .../Resources/EnsembleCurveSets16x16.png | Bin .../Resources/EnsembleCurveSets16x16.xcf | Bin .../Resources/Erase.png | Bin .../Resources/Erase.svg | 0 .../Resources/Erase.xcf | Bin .../ExportCompletionsSymbol16x16.png | Bin .../ExportCompletionsSymbol16x16.xcf | Bin .../Resources/Filter.svg | 0 .../Resources/FilterCollection.svg | 0 .../Resources/FilterFunction.svg | 0 .../Resources/FilterParameter.svg | 0 .../Resources/FishBoneGroup16x16.png | Bin .../Resources/FishBoneGroupFromFile16x16.png | Bin .../Resources/FishBoneGroupFromFile16x16.xcf | Bin .../FishBoneLateralFromFile16x16.png | Bin .../FishBoneLateralFromFile16x16.xcf | Bin .../Resources/FishBones16x16.png | Bin .../Resources/FishBones16x16.xcf | Bin .../Resources/FlowCharPlot16x16.png | Bin .../Resources/FlowCharPlot16x16.xcf | Bin .../Resources/Folder.png | Bin .../Resources/FormationCollection16x16.png | Bin .../Resources/FormationCollection16x16.xcf | Bin .../Resources/Formations16x16.png | Bin .../Resources/Formations16x16.xcf | Bin .../Resources/FractureLayout16x16.png | Bin .../Resources/FractureLayout16x16.xcf | Bin .../Resources/FractureSymbol16x16.png | Bin .../Resources/FractureSymbol16x16.xcf | Bin .../Resources/FractureTemplate16x16.png | Bin .../Resources/FractureTemplate16x16.xcf | Bin .../Resources/FractureTemplates16x16.png | Bin .../Resources/FractureTemplates16x16.xcf | Bin .../Resources/GeoMechCase24x24.png | Bin .../Resources/GeoMechCase48x48.png | Bin .../Resources/GeoMechCase48x48.xcf | Bin .../Resources/GeoMechCasePropTable24x24.png | Bin .../Resources/GeoMechCaseTime24x24.png | Bin .../Resources/GeoMechCases48x48.png | Bin .../Resources/GeoMechCases48x48.xcf | Bin .../Resources/GridCaseGroup16x16.png | Bin .../Resources/GridCaseGroup16x16.xcf | Bin .../Resources/GridModels.png | Bin .../Resources/Histogram16x16.png | Bin .../Resources/Histogram16x16.xcf | Bin .../Resources/Histograms16x16.png | Bin .../Resources/Histograms16x16.xcf | Bin .../Resources/HoloLensConnect24x24.png | Bin .../Resources/HoloLensDisconnect24x24.png | Bin .../HoloLensSendContinously24x24.png | Bin .../Resources/HoloLensSendOnce24x24.png | Bin .../Resources/ICDValve16x16.png | Bin .../Resources/ICDValve16x16.xcf | Bin .../Resources/ICVValve16x16.png | Bin .../Resources/ICVValve16x16.xcf | Bin .../Resources/InfoBox16x16.png | Bin .../Resources/InterectionBox16x16.xcf | Bin .../Resources/InterectionXPlane16x16.xcf | Bin .../Resources/IntersectionBox16x16.png | Bin .../Resources/IntersectionXPlane16x16.png | Bin .../Resources/IntersectionYPlane16x16.png | Bin .../Resources/IntersectionZPlane16x16.png | Bin .../Resources/LGR16x16.png | Bin .../Resources/LGR16x16.xcf | Bin .../Resources/LasFile16x16.png | Bin .../Resources/LasFile16x16.xcf | Bin .../Resources/LeftAxis16x16.png | Bin .../Resources/Legend.png | Bin .../Resources/LinkView.svg | 0 .../Resources/LinkView16x16.png | Bin .../Resources/LinkView16x16.xcf | Bin .../Resources/LinkView24x24.png | Bin .../Resources/LinkView24x24.xcf | Bin .../Resources/MainGrid16x16.png | Bin .../Resources/MainGrid16x16.xcf | Bin .../Resources/MasterView16x16.png | Bin .../Resources/Minus.png | Bin .../Resources/MultiPlot16x16.png | Bin .../Resources/MultiPlot16x16.xcf | Bin .../Resources/NorthView.svg | 0 .../Resources/NorthViewArrow.png | Bin .../Resources/NorthViewArrow.xcf | Bin .../Resources/ObjectiveFunction.svg | 0 .../Resources/ObjectiveFunctionCollection.svg | 0 .../Resources/ObjectiveFunctionWeight.svg | 0 .../Resources/ObservedCSVDataFile16x16.png | Bin .../Resources/ObservedDataFile16x16.png | Bin .../Resources/ObservedDataFile16x16.xcf | Bin .../Resources/ObservedRFTDataFile16x16.png | Bin .../Resources/ObservedRSMDataFile16x16.png | Bin .../Resources/Octave16x6.xcf | Bin .../Resources/OctaveScriptFile16x16.png | Bin .../Resources/OpenFolder.svg | 0 .../Resources/PagePreview16x16.png | Bin .../Resources/Parallel.svg | 0 .../Resources/Parallel24x24.png | Bin .../Resources/Parallel24x24.xcf | Bin .../Resources/PdfSave.png | Bin .../Resources/PdfSave.svg | 0 .../Resources/PdfSave.xcf | Bin .../Resources/PerforationInterval16x16.png | Bin .../Resources/PerforationIntervals16x16.png | Bin .../Resources/PerforationIntervals16x16.xcf | Bin .../Resources/Perspective.svg | 0 .../Resources/Perspective24x24.png | Bin .../Resources/Perspective24x24.xcf | Bin .../Resources/PlotWindow.svg | 0 .../Resources/PlotWindow24x24.png | Bin .../Resources/PlotWindow24x24.xcf | Bin .../Resources/Plus.png | Bin .../Resources/Plus.xcf | Bin .../Resources/PolylinesFromFile16x16.png | Bin .../Resources/PythonScriptFile16x16.png | Bin .../Resources/RFTPlot16x16.png | Bin .../Resources/RFTPlot16x16.xcf | Bin .../Resources/RFTPlots16x16.png | Bin .../Resources/RFTPlots16x16.xcf | Bin .../Resources/ReachCircle16x16.png | Bin .../Resources/Refresh-32.png | Bin .../Resources/Refresh.svg | 0 .../Resources/RemoveComparisonView16x16.png | Bin .../Resources/ReplaceCase16x16.png | Bin .../Resources/ReplaceCase16x16.xcf | Bin .../Resources/ResInsight.qrc | 0 .../Resources/ResInsight.rc | 0 .../Resources/ReservoirSurface16x16.png | Bin .../Resources/ReservoirSurface16x16.xcf | Bin .../Resources/ReservoirSurfaces16x16.png | Bin .../Resources/ReservoirSurfaces16x16.xcf | Bin .../Resources/RightAxis16x16.png | Bin .../Resources/Rows1.png | Bin .../Resources/Rows2.png | Bin .../Resources/Rows3.png | Bin .../Resources/Rows4.png | Bin .../Resources/Ruler.svg | 0 .../Resources/Ruler24x24.png | Bin .../Resources/Ruler24x24.xcf | Bin .../Resources/RulerPoly.svg | 0 .../Resources/RulerPoly24x24.png | Bin .../Resources/Save.svg | 0 .../Resources/SaveAs.svg | 0 .../Resources/SkipToEnd.svg | 0 .../Resources/SkipToStart.svg | 0 .../Resources/SnapShot.svg | 0 .../Resources/SnapShotSave.png | Bin .../Resources/SnapShotSave.svg | 0 .../Resources/SnapShotSaveViews.png | Bin .../Resources/SnapShotSaveViews.svg | 0 .../Resources/SnapShotSaveViews.xcf | Bin .../Resources/SouthView.svg | 0 .../Resources/SouthViewArrow.png | Bin .../Resources/SouthViewArrow.xcf | Bin .../Resources/SplitterH.png | Bin .../Resources/SplitterV.png | Bin .../Resources/StepUpDown.xcf | Bin .../Resources/StepUpDown16x16.png | Bin .../Resources/StepUpDownCorner16x16.png | Bin .../Resources/StepUpDownCorner16x16.xcf | Bin .../Resources/SummaryCase.svg | 0 .../Resources/SummaryCase16x16.png | Bin .../Resources/SummaryCase16x16.xcf | Bin .../Resources/SummaryCase24x24.png | Bin .../Resources/SummaryCase48x48.png | Bin .../Resources/SummaryCase48x48.xcf | Bin .../Resources/SummaryCases16x16.png | Bin .../Resources/SummaryCases16x16.xcf | Bin .../Resources/SummaryCurve16x16.png | Bin .../Resources/SummaryCurve16x16.xcf | Bin .../Resources/SummaryCurveFilter16x16.png | Bin .../Resources/SummaryCurveFilter16x16.xcf | Bin .../Resources/SummaryEnsemble.svg | 0 .../Resources/SummaryEnsemble16x16.png | Bin .../Resources/SummaryEnsemble16x16.xcf | Bin .../Resources/SummaryEnsemble24x24.png | Bin .../Resources/SummaryGroup16x16.png | Bin .../Resources/SummaryPlotLight16x16.png | Bin .../Resources/SummaryPlotLight16x16.xcf | Bin .../Resources/SummaryPlots16x16.png | Bin .../Resources/SummaryPlots16x16.xcf | Bin .../Resources/SummaryPlotsLight16x16.png | Bin .../Resources/SummaryPlotsLight16x16.xcf | Bin .../Resources/SummaryTemplate16x16.png | Bin .../Resources/SummaryXPlotLight16x16.png | Bin .../Resources/SummaryXPlotLight16x16.xcf | Bin .../Resources/SummaryXPlotsLight16x16.png | Bin .../Resources/SummaryXPlotsLight16x16.xcf | Bin .../Resources/Swap.png | Bin .../Resources/TOFAccSatPlot16x16.png | Bin .../Resources/TOFAccSatPlot16x16.xcf | Bin .../Resources/TempLGR16x16.png | Bin .../Resources/TempLGR16x16.xcf | Bin .../Resources/TextAnnotation16x16.png | Bin .../Resources/TextAnnotation16x16.xcf | Bin .../Resources/TileWindows.svg | 0 .../Resources/TileWindows24x24.png | Bin .../Resources/TileWindows24x24.xcf | Bin .../Resources/ToggleOff16x16.png | Bin .../Resources/ToggleOffL16x16.xcf | Bin .../Resources/ToggleOn16x16.png | Bin .../Resources/ToggleOn16x16.xcf | Bin .../Resources/ToggleOnOff16x16.png | Bin .../Resources/ToggleOnOff16x16.xcf | Bin .../Resources/ToggleOnOthersOff16x16.png | Bin .../Resources/ToggleOnOthersOff16x16.xcf | Bin .../Resources/UnLinkView.svg | 0 .../Resources/UnLinkView16x16.png | Bin .../Resources/UpView.svg | 0 .../Resources/UpViewArrow.png | Bin .../Resources/UpViewArrow.xcf | Bin .../Resources/Well.png | Bin .../Resources/Well.svg | 0 .../Resources/WellAllocLegend16x16.png | Bin .../Resources/WellAllocLegend16x16.xcf | Bin .../Resources/WellAllocPie16x16.png | Bin .../Resources/WellAllocPie16x16.xcf | Bin .../Resources/WellAllocPlot16x16.png | Bin .../Resources/WellAllocPlot16x16.xcf | Bin .../Resources/WellAllocPlots16x16.png | Bin .../Resources/WellBoreStability16x16.png | Bin .../Resources/WellBoreStability16x16.xcf | Bin .../Resources/WellCF16x16.png | Bin .../Resources/WellCollection.png | Bin .../Resources/WellFlowPlot16x16.png | Bin .../Resources/WellFlowPlot16x16.xcf | Bin .../Resources/WellLogCurve16x16.png | Bin .../Resources/WellLogPlot16x16.png | Bin .../Resources/WellLogPlot16x16.xcf | Bin .../Resources/WellLogPlots16x16.png | Bin .../Resources/WellLogPlots16x16.xcf | Bin .../Resources/WellLogTrack16x16.png | Bin .../Resources/WellLogTrack16x16.xcf | Bin .../Resources/WellMeasurement16x16.png | Bin .../Resources/WellMeasurement16x16.xcf | Bin .../Resources/WellPathGroup.svg | 0 .../Resources/WellTargetPoint16x16.png | Bin .../Resources/WellTargetPoint16x16.xcf | Bin .../Resources/WellTargetPointTangent16x16.png | Bin .../Resources/WellTargetPointTangent16x16.xcf | Bin .../Resources/WellTargets.png | Bin .../Resources/WellTargets.xcf | Bin .../Resources/WestView.svg | 0 .../Resources/WestViewArrow.png | Bin .../Resources/WestViewArrow.xcf | Bin .../Resources/Window16x16.png | Bin .../Resources/ZoomAll.svg | 0 .../Resources/ZoomAll16x16.png | Bin .../Resources/ZoomAll16x16.xcf | Bin .../Resources/calculator.png | Bin .../Resources/chain.png | Bin .../Resources/clipboard.png | Bin .../Resources/clipboard.xcf | Bin .../Resources/disable_lighting_24x24.png | Bin ...raw_style_WellCellsToRangeFilter_24x24.png | Bin ...raw_style_WellCellsToRangeFilter_24x24.xcf | Bin .../Resources/draw_style_faults_24x24.png | Bin .../Resources/draw_style_faults_24x24.xcf | Bin .../draw_style_faults_label_24x24.png | Bin .../Resources/draw_style_lines_24x24.png | Bin .../Resources/draw_style_meshlines_24x24.png | Bin .../Resources/draw_style_surface_24x24.png | Bin .../draw_style_surface_w_fault_mesh_24x24.png | Bin .../draw_style_surface_w_fault_mesh_24x24.xcf | Bin .../Resources/fs_CellFace.glsl | 0 .../Resources/octave.png | Bin .../Resources/openFolder24x24.png | Bin .../Resources/openFolder24x24.xcf | Bin .../Resources/statistics.png | Bin .../Resources/themes/dark.qss | 0 .../Resources/themes/dark/arrow-down.svg | 0 .../Resources/themes/dark/arrow-up.svg | 0 .../Resources/themes/dark/blank.svg | 0 .../themes/dark/checkbox-checked-disabled.svg | 0 .../themes/dark/checkbox-checked.svg | 0 .../dark/checkbox-indeterminate-disabled.svg | 0 .../themes/dark/checkbox-indeterminate.svg | 0 .../dark/checkbox-unchecked-disabled.svg | 0 .../themes/dark/checkbox-unchecked.svg | 0 .../Resources/themes/dark/close-hover.svg | 0 .../Resources/themes/dark/close.svg | 0 .../Resources/themes/dark/collapsed.svg | 0 .../Resources/themes/dark/expanded.svg | 0 .../Resources/themes/dark/float-hover.svg | 0 .../Resources/themes/dark/float.svg | 0 .../Resources/themes/dark/gripper.svg | 0 .../Resources/themes/default.qss | 0 .../Resources/themes/light.qss | 0 .../Resources/themes/light/gripper.svg | 0 .../Resources/utility/qss-keywords.txt | 0 .../Resources/vs_2dTextureCellFace.glsl | 0 .../Resources/vs_CellFace.glsl | 0 .../RiaGrpcConsoleApplication.cpp | 58 ++ .../RiaGrpcConsoleApplication.h | 41 + ApplicationExeCode/RiaGrpcGuiApplication.cpp | 119 +++ ApplicationExeCode/RiaGrpcGuiApplication.h | 46 ++ .../RiaMain.cpp | 24 +- .../resinsight | 0 .../resinsight.desktop.in | 0 .../Application/CMakeLists_files.cmake | 1 - .../Application/RiaApplication.cpp | 52 +- .../Application/RiaApplication.h | 19 +- .../Application/RiaConsoleApplication.cpp | 41 - .../Application/RiaConsoleApplication.h | 12 - .../Application/RiaGuiApplication.cpp | 95 +-- .../Application/RiaGuiApplication.h | 13 +- ApplicationLibCode/CMakeLists.txt | 545 +------------ .../RicEditPreferencesFeature.cpp | 1 - .../ApplicationCommands/RicHelpFeatures.cpp | 16 - ApplicationLibCode/Commands/CMakeLists.txt | 7 +- .../RicSnapshotAllViewsToFileFeature.cpp | 1 + .../RicSnapshotAllViewsToFileFeature.h | 3 - .../RimAbstractPlotCollection.h | 2 +- .../code_names_and_values_mismatch.roff | 0 .../RifRoffReader/code_names_missing.roff | 0 .../code_values_integer_wrong.roff | 0 .../RifRoffReader/code_values_missing.roff | 0 .../TestData/RifRoffReader/facies_info.roff | 0 CMakeLists.txt | 22 +- GrpcInterface/CMakeLists.txt | 124 +-- GrpcInterface/Python/rips/tests/dataroot.py | 2 +- GrpcInterface/RiaGrpcAppService.cpp | 6 +- GrpcInterface/RiaGrpcApplicationInterface.cpp | 110 +++ GrpcInterface/RiaGrpcApplicationInterface.h | 44 ++ GrpcInterface/RiaGrpcPdmObjectService.h | 1 + ThirdParty/custom-opm-common/CMakeLists.txt | 3 +- 412 files changed, 1438 insertions(+), 872 deletions(-) create mode 100644 ApplicationExeCode/.clang-format create mode 100644 ApplicationExeCode/.clang-tidy create mode 100644 ApplicationExeCode/CMakeLists.txt rename {ApplicationLibCode => ApplicationExeCode}/Resources/2DMap16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/2DMap16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/2DMapProjection16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/2DMapProjection16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/2DMaps16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/2DMaps16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/3DView16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/3DView16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/3DViewGeoMech16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/3DWindow.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/3DWindow24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/3DWindow24x24.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/AICDValve16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/AICDValve16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/AnalysisPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/AnalysisPlot16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/AnalysisPlotFilter16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/AnalysisPlotFilter16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/AnalysisPlots16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/AnalysisPlots16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Annotations16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/AppLogo48x48.ico (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/AppLogo48x48.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Axes16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/BottomAxis16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/BottomAxis16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Calculator.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CascadeWindows.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Case.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Case24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Case48x48.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Case48x48.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Cases16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Cases16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CasingDesign16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CasingDesign16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CellFilter_Range.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CellFilter_Values.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CellResult.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Close.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Columns1.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Columns2.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Columns3.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Columns4.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ColumnsUnlimited.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ComparisonView16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CompletionsSymbol16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CompletionsSymbol16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ControlledView16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Copy.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Copy.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Copy.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CorrelationCrossPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CorrelationMatrixPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CorrelationPlots16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CorrelationReportPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CorrelationTornadoPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CreateGridCaseGroup16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CrossSection16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CrossSections16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CumulativePhaseDist16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/CumulativePhaseDist16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/DownView.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/DownViewArrow.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/DownViewArrow.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/DrawLightingDisabled.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/DrawLightingEnabled.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/DrawStyleHideCells.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/DrawStyleLines.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/DrawStyleMeshLines.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/DrawStyleSurface.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/EastView.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/EastViewArrow.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/EastViewArrow.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/EclipseInput48x48.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/EdgeResult_1.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/EditableWell.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/EnsembleCurveSet16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/EnsembleCurveSet16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/EnsembleCurveSets16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/EnsembleCurveSets16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Erase.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Erase.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Erase.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ExportCompletionsSymbol16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ExportCompletionsSymbol16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Filter.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FilterCollection.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FilterFunction.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FilterParameter.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FishBoneGroup16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FishBoneGroupFromFile16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FishBoneGroupFromFile16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FishBoneLateralFromFile16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FishBoneLateralFromFile16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FishBones16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FishBones16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FlowCharPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FlowCharPlot16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Folder.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FormationCollection16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FormationCollection16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Formations16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Formations16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FractureLayout16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FractureLayout16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FractureSymbol16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FractureSymbol16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FractureTemplate16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FractureTemplate16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FractureTemplates16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/FractureTemplates16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/GeoMechCase24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/GeoMechCase48x48.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/GeoMechCase48x48.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/GeoMechCasePropTable24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/GeoMechCaseTime24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/GeoMechCases48x48.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/GeoMechCases48x48.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/GridCaseGroup16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/GridCaseGroup16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/GridModels.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Histogram16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Histogram16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Histograms16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Histograms16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/HoloLensConnect24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/HoloLensDisconnect24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/HoloLensSendContinously24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/HoloLensSendOnce24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ICDValve16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ICDValve16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ICVValve16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ICVValve16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/InfoBox16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/InterectionBox16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/InterectionXPlane16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/IntersectionBox16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/IntersectionXPlane16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/IntersectionYPlane16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/IntersectionZPlane16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/LGR16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/LGR16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/LasFile16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/LasFile16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/LeftAxis16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Legend.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/LinkView.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/LinkView16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/LinkView16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/LinkView24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/LinkView24x24.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/MainGrid16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/MainGrid16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/MasterView16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Minus.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/MultiPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/MultiPlot16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/NorthView.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/NorthViewArrow.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/NorthViewArrow.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ObjectiveFunction.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ObjectiveFunctionCollection.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ObjectiveFunctionWeight.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ObservedCSVDataFile16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ObservedDataFile16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ObservedDataFile16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ObservedRFTDataFile16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ObservedRSMDataFile16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Octave16x6.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/OctaveScriptFile16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/OpenFolder.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PagePreview16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Parallel.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Parallel24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Parallel24x24.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PdfSave.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PdfSave.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PdfSave.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PerforationInterval16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PerforationIntervals16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PerforationIntervals16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Perspective.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Perspective24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Perspective24x24.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PlotWindow.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PlotWindow24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PlotWindow24x24.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Plus.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Plus.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PolylinesFromFile16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/PythonScriptFile16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/RFTPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/RFTPlot16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/RFTPlots16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/RFTPlots16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ReachCircle16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Refresh-32.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Refresh.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/RemoveComparisonView16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ReplaceCase16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ReplaceCase16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ResInsight.qrc (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ResInsight.rc (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ReservoirSurface16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ReservoirSurface16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ReservoirSurfaces16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ReservoirSurfaces16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/RightAxis16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Rows1.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Rows2.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Rows3.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Rows4.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Ruler.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Ruler24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Ruler24x24.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/RulerPoly.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/RulerPoly24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Save.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SaveAs.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SkipToEnd.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SkipToStart.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SnapShot.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SnapShotSave.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SnapShotSave.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SnapShotSaveViews.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SnapShotSaveViews.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SnapShotSaveViews.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SouthView.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SouthViewArrow.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SouthViewArrow.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SplitterH.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SplitterV.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/StepUpDown.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/StepUpDown16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/StepUpDownCorner16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/StepUpDownCorner16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCase.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCase16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCase16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCase24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCase48x48.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCase48x48.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCases16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCases16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCurve16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCurve16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCurveFilter16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryCurveFilter16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryEnsemble.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryEnsemble16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryEnsemble16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryEnsemble24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryGroup16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryPlotLight16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryPlotLight16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryPlots16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryPlots16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryPlotsLight16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryPlotsLight16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryTemplate16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryXPlotLight16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryXPlotLight16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryXPlotsLight16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/SummaryXPlotsLight16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Swap.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/TOFAccSatPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/TOFAccSatPlot16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/TempLGR16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/TempLGR16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/TextAnnotation16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/TextAnnotation16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/TileWindows.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/TileWindows24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/TileWindows24x24.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ToggleOff16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ToggleOffL16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ToggleOn16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ToggleOn16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ToggleOnOff16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ToggleOnOff16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ToggleOnOthersOff16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ToggleOnOthersOff16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/UnLinkView.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/UnLinkView16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/UpView.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/UpViewArrow.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/UpViewArrow.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Well.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Well.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellAllocLegend16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellAllocLegend16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellAllocPie16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellAllocPie16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellAllocPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellAllocPlot16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellAllocPlots16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellBoreStability16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellBoreStability16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellCF16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellCollection.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellFlowPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellFlowPlot16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellLogCurve16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellLogPlot16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellLogPlot16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellLogPlots16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellLogPlots16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellLogTrack16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellLogTrack16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellMeasurement16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellMeasurement16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellPathGroup.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellTargetPoint16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellTargetPoint16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellTargetPointTangent16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellTargetPointTangent16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellTargets.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WellTargets.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WestView.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WestViewArrow.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/WestViewArrow.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/Window16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ZoomAll.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ZoomAll16x16.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/ZoomAll16x16.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/calculator.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/chain.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/clipboard.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/clipboard.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/disable_lighting_24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/draw_style_WellCellsToRangeFilter_24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/draw_style_WellCellsToRangeFilter_24x24.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/draw_style_faults_24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/draw_style_faults_24x24.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/draw_style_faults_label_24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/draw_style_lines_24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/draw_style_meshlines_24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/draw_style_surface_24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/draw_style_surface_w_fault_mesh_24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/draw_style_surface_w_fault_mesh_24x24.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/fs_CellFace.glsl (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/octave.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/openFolder24x24.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/openFolder24x24.xcf (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/statistics.png (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark.qss (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/arrow-down.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/arrow-up.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/blank.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/checkbox-checked-disabled.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/checkbox-checked.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/checkbox-indeterminate-disabled.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/checkbox-indeterminate.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/checkbox-unchecked-disabled.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/checkbox-unchecked.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/close-hover.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/close.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/collapsed.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/expanded.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/float-hover.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/float.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/dark/gripper.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/default.qss (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/light.qss (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/themes/light/gripper.svg (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/utility/qss-keywords.txt (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/vs_2dTextureCellFace.glsl (100%) rename {ApplicationLibCode => ApplicationExeCode}/Resources/vs_CellFace.glsl (100%) create mode 100644 ApplicationExeCode/RiaGrpcConsoleApplication.cpp create mode 100644 ApplicationExeCode/RiaGrpcConsoleApplication.h create mode 100644 ApplicationExeCode/RiaGrpcGuiApplication.cpp create mode 100644 ApplicationExeCode/RiaGrpcGuiApplication.h rename {ApplicationLibCode/Application => ApplicationExeCode}/RiaMain.cpp (89%) rename {ApplicationLibCode => ApplicationExeCode}/resinsight (100%) rename {ApplicationLibCode => ApplicationExeCode}/resinsight.desktop.in (100%) mode change 100755 => 100644 ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_names_and_values_mismatch.roff mode change 100755 => 100644 ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_names_missing.roff mode change 100755 => 100644 ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_values_integer_wrong.roff mode change 100755 => 100644 ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_values_missing.roff mode change 100755 => 100644 ApplicationLibCode/UnitTests/TestData/RifRoffReader/facies_info.roff create mode 100644 GrpcInterface/RiaGrpcApplicationInterface.cpp create mode 100644 GrpcInterface/RiaGrpcApplicationInterface.h diff --git a/.github/workflows/ResInsightWithCache.yml b/.github/workflows/ResInsightWithCache.yml index f2d4050d2b..73e7f12b2e 100644 --- a/.github/workflows/ResInsightWithCache.yml +++ b/.github/workflows/ResInsightWithCache.yml @@ -208,12 +208,12 @@ jobs: - name: Run Unit Tests shell: bash run: | - cmakebuild/ApplicationCode/ResInsight --unittest + cmakebuild/ApplicationExeCode/ResInsight --unittest - name: Run pytest env: - RESINSIGHT_EXECUTABLE: ${{ runner.workspace }}/ResInsight/cmakebuild/ApplicationCode/ResInsight + RESINSIGHT_EXECUTABLE: ${{ runner.workspace }}/ResInsight/cmakebuild/ApplicationExeCode/ResInsight run: | - cd ApplicationCode/GrpcInterface/Python/rips + cd GrpcInterface/Python/rips ${{ steps.python-path.outputs.PYTHON_EXECUTABLE }} -m pytest --console - name: Upload artifact uses: actions/upload-artifact@v2 diff --git a/.github/workflows/ResInsightWithCacheManualPaths.yml b/.github/workflows/ResInsightWithCacheManualPaths.yml index 9e3e2e9361..49df3afe60 100644 --- a/.github/workflows/ResInsightWithCacheManualPaths.yml +++ b/.github/workflows/ResInsightWithCacheManualPaths.yml @@ -5,7 +5,7 @@ on: env: NINJA_VERSION: 1.9.0 BUILD_TYPE: Release - BUILDCACHE_VERSION: 0.18.0 + BUILDCACHE_VERSION: 0.23.0 BUILDCACHE_DIR: ${{ github.workspace }}/buildcache_dir jobs: @@ -19,6 +19,9 @@ jobs: name: "Ubuntu 20.04", os: ubuntu-20.04, cc: "gcc", cxx: "g++", + vcpkg-response-file: vcpkg_x64-linux.txt, + vcpkg-triplet: x64-linux, + cmake-toolchain: 'ThirdParty/vcpkg/scripts/buildsystems/vcpkg.cmake' } steps: - name: Checkout @@ -42,7 +45,7 @@ jobs: if ("${{ runner.os }}" STREQUAL "Windows") set(buildcache_suffix "win-msvc.zip") elseif ("${{ runner.os }}" STREQUAL "Linux") - set(buildcache_suffix "linux.zip") + set(buildcache_suffix "linux.tar.gz") endif() set(buildcache_version $ENV{BUILDCACHE_VERSION}) @@ -52,7 +55,7 @@ jobs: if (NOT "${{ runner.os }}" STREQUAL "Windows") execute_process( - COMMAND chmod +x bin/buildcache + COMMAND chmod +x buildcache/bin/buildcache ) endif() @@ -67,54 +70,49 @@ jobs: uses: actions/cache@v2 with: path: ${{ env.BUILDCACHE_DIR }} - key: ${{ matrix.config.name }}-manual-paths-cache-v02-${{ steps.cache_timestamp_string.outputs.timestamp }} + key: ${{ matrix.config.name }}-cache-v02-${{ steps.cache_timestamp_string.outputs.timestamp }} - name: Create Folder for buildcache run: New-Item ${{ env.BUILDCACHE_DIR }} -ItemType "directory" -Force shell: pwsh - name: Add buildcache to system path - run: echo "::add-path::${{ github.workspace }}/bin" - + run: echo "${{github.workspace}}/buildcache/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 + shell: pwsh + - name: Cache Qt id: cache-qt uses: actions/cache@v2 with: path: ${{ github.workspace }}/Qt/ - key: ${{ matrix.config.os }}-QtCache-v02 + key: ${{ matrix.config.os }}-QtCache-v03 - name: Install Qt uses: jurplel/install-qt-action@v2 with: version: 5.9.9 - modules: qtscript + modules: qtscript qtcharts dir: '${{ github.workspace }}/Qt/' cached: ${{ steps.cache-qt.outputs.cache-hit }} - name: Install Linux dependencies if: "contains( matrix.config.os, 'ubuntu')" - run: sudo apt-get install libxkbcommon-x11-0 libgl1-mesa-dev mesa-common-dev libglfw3-dev libglu1-mesa-dev libhdf5-dev libboost-filesystem-dev libeigen3-dev - - name: Cache vcpkg artifacts - uses: actions/cache@v2 - with: - path: ${{ github.workspace }}/ThirdParty/vcpkg/ - # Ensure the cache is invalidated any time vcpkg version changes, or a different set of packages is being used. - key: ${{ hashFiles('.git/modules/ThirdParty/vcpkg/HEAD') }}-${{ runner.os }}-vcpkg-v04 + run: sudo apt-get install libxkbcommon-x11-0 libgl1-mesa-dev mesa-common-dev libglfw3-dev libglu1-mesa-dev libhdf5-dev - name: Get Python executable path id: python-path run: echo "::set-output name=PYTHON_EXECUTABLE::$(python -c 'import sys; import pathlib; print (pathlib.PurePath(sys.executable).as_posix())')" - name: Print Python path run: echo ${{ steps.python-path.outputs.PYTHON_EXECUTABLE }} - - name: Install Python dependencies - run: | - ${{ steps.python-path.outputs.PYTHON_EXECUTABLE }} -m pip install --upgrade pip - ${{ steps.python-path.outputs.PYTHON_EXECUTABLE }} -m pip install grpcio-tools - ${{ steps.python-path.outputs.PYTHON_EXECUTABLE }} -m pip install pytest - - name: Setup vcpkg + + - name: Set vcpkg's response file path used as part of cache's key. + uses: lukka/set-shell-env@master + with: + VCPKGRESPONSEFILE: ${{ github.workspace }}/${{ matrix.config.vcpkg-response-file }} + - name: Run vcpkg uses: lukka/run-vcpkg@v5 id: runvcpkg with: + vcpkgArguments: '@${{ github.workspace }}/${{ matrix.config.vcpkg-response-file }}' vcpkgDirectory: '${{ github.workspace }}/ThirdParty/vcpkg' - setupOnly: true - - name: Run vcpkg - shell: bash - run: $VCPKG_ROOT/vcpkg install grpc:x64-linux + # Ensure the cache key changes any time the content of the response file changes. + appendedCacheKey: ${{ hashFiles(env.VCPKGRESPONSEFILE) }} + - name: Configure shell: cmake -P {0} run: | @@ -149,9 +147,11 @@ jobs: -D RESINSIGHT_INCLUDE_APPLICATION_UNIT_TESTS=true -D RESINSIGHT_TREAT_WARNINGS_AS_ERRORS=true -D RESINSIGHT_ENABLE_GRPC=true + -D Eigen3_DIR=${{ github.workspace }}/ThirdParty/vcpkg/installed/x64-linux/share/eigen3 + -D Boost_INCLUDE_DIR=${{ github.workspace }}/ThirdParty/vcpkg/installed/x64-linux/include -D RESINSIGHT_GRPC_INSTALL_PREFIX=${{ github.workspace }}/ThirdParty/vcpkg/installed/x64-linux -D RESINSIGHT_GRPC_PYTHON_EXECUTABLE=${{ steps.python-path.outputs.PYTHON_EXECUTABLE }} - -D RESINSIGHT_GRPC_DOWNLOAD_PYTHON_MODULE=false + -D RESINSIGHT_GRPC_DOWNLOAD_PYTHON_MODULE=true -D VCPKG_AUTO_INSTALL=false -G Ninja RESULT_VARIABLE result @@ -184,14 +184,20 @@ jobs: endif() - name: Stats for buildcache - run: ${{ github.workspace }}/bin/buildcache -s + run: ${{ github.workspace }}/buildcache/bin/buildcache -s - - name: (Linux) Run Unit Tests + - name: Run Unit Tests shell: bash run: | - cmakebuild/ApplicationCode/ResInsight --unittest + cmakebuild/ApplicationExeCode/ResInsight --unittest + - name: Run pytest + env: + RESINSIGHT_EXECUTABLE: ${{ runner.workspace }}/ResInsight/cmakebuild/ApplicationExeCode/ResInsight + run: | + cd GrpcInterface/Python/rips + ${{ steps.python-path.outputs.PYTHON_EXECUTABLE }} -m pytest --console - name: Upload artifact uses: actions/upload-artifact@v2 with: - name: ResInsight-manual-${{ matrix.config.name }} + name: ResInsight-${{ matrix.config.name }} path: ${{ runner.workspace }}/ResInsight/cmakebuild/install diff --git a/.github/workflows/clang-format.yml b/.github/workflows/clang-format.yml index 85a6cc73b7..c5a66835e8 100644 --- a/.github/workflows/clang-format.yml +++ b/.github/workflows/clang-format.yml @@ -11,9 +11,14 @@ jobs: sudo apt install clang-format clang-format --version - uses: actions/checkout@v2 - - name: Check format - ApplicationCode + - name: Check format - ApplicationLibCode run: | - cd ApplicationCode + cd ApplicationLibCode + find -name *.h -o -name *.cpp -o -name *.inl | xargs clang-format -i + git diff + - name: Check format - ApplicationExeCode + run: | + cd ApplicationExeCode find -name *.h -o -name *.cpp -o -name *.inl | xargs clang-format -i git diff - name: Check format - AppFwk diff --git a/.github/workflows/cmake-format.yml b/.github/workflows/cmake-format.yml index 387174c978..450b4db445 100644 --- a/.github/workflows/cmake-format.yml +++ b/.github/workflows/cmake-format.yml @@ -10,9 +10,14 @@ jobs: run: | python3 -m pip install --user cmakelang - uses: actions/checkout@v2 - - name: Check format - ApplicationCode + - name: Check format - ApplicationLibCode run: | - cd ApplicationCode + cd ApplicationLibCode + find -name CMake*.txt | xargs ~/.local/bin/cmake-format -c ${{ github.workspace }}/cmake/cmake-format.py -i + git diff + - name: Check format - ApplicationExeCode + run: | + cd ApplicationExeCode find -name CMake*.txt | xargs ~/.local/bin/cmake-format -c ${{ github.workspace }}/cmake/cmake-format.py -i git diff - name: Check format - AppFwk diff --git a/.github/workflows/spell-check.yml b/.github/workflows/spell-check.yml index 04add59f9f..b896391f3c 100644 --- a/.github/workflows/spell-check.yml +++ b/.github/workflows/spell-check.yml @@ -12,7 +12,7 @@ jobs: - uses: actions/checkout@v2 - uses: sobolevn/misspell-fixer-action@master with: - options: '-rsvnuR ApplicationCode/' + options: '-rsvnuR ApplicationLibCode/' - uses: peter-evans/create-pull-request@v3 with: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.misspell-fixer.ignore b/.misspell-fixer.ignore index 7c989a5e48..0a9a3939ec 100644 --- a/.misspell-fixer.ignore +++ b/.misspell-fixer.ignore @@ -1,6 +1,6 @@ -^ApplicationCode/ReservoirDataModel/RigWellLogFile.cpp:28:aswell -^ApplicationCode/ReservoirDataModel/RigLasFileExporter.cpp:33:aswell -^ApplicationCode/Resources/EastView.svg -^ApplicationCode/Resources/NorthView.svg -^ApplicationCode/Resources/SouthView.svg -^ApplicationCode/Resources/WestView.svg +^ApplicationLibCode/ReservoirDataModel/RigWellLogFile.cpp:28:aswell +^ApplicationLibCode/ReservoirDataModel/RigLasFileExporter.cpp:33:aswell +^ApplicationExeCode/Resources/EastView.svg +^ApplicationExeCode/Resources/NorthView.svg +^ApplicationExeCode/Resources/SouthView.svg +^ApplicationExeCode/Resources/WestView.svg diff --git a/ApplicationExeCode/.clang-format b/ApplicationExeCode/.clang-format new file mode 100644 index 0000000000..78ba6a0887 --- /dev/null +++ b/ApplicationExeCode/.clang-format @@ -0,0 +1,79 @@ +--- +Language: Cpp +# BasedOnStyle: LLVM +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: true +AlignConsecutiveDeclarations: true +AlignEscapedNewlinesLeft: true +AlignOperands: true +AlignTrailingComments: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: true +AllowShortFunctionsOnASingleLine: InlineOnly +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: true +BinPackArguments: false +BinPackParameters: false +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Allman +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: true +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: true +ColumnLimit: 120 +CommentPragmas: '^ IWYU pragma:' +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DerivePointerAlignment: false +DisableFormat: false +ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + - Regex: '^(<|"(gtest|isl|json)/)' + Priority: 3 + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '$' +IndentCaseLabels: true +IndentWidth: 4 +IndentWrappedFunctionNames: true +JavaScriptQuotes: Leave +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: Inner +PenaltyBreakAssignment: 13 +PenaltyBreakBeforeFirstCallParameter: 10000 +PenaltyBreakComment: 20 +PenaltyBreakFirstLessLess: 12 +PenaltyBreakString: 100 +PenaltyExcessCharacter: 5 +PenaltyReturnTypeOnItsOwnLine: 30 +PointerAlignment: Left +ReflowComments: true +SortIncludes: true +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeParens: ControlStatements +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: false +SpacesInCStyleCastParentheses: false +SpacesInParentheses: true +SpacesInSquareBrackets: false +Standard: Cpp11 +TabWidth: 4 +UseTab: Never +... diff --git a/ApplicationExeCode/.clang-tidy b/ApplicationExeCode/.clang-tidy new file mode 100644 index 0000000000..8348d93169 --- /dev/null +++ b/ApplicationExeCode/.clang-tidy @@ -0,0 +1,5 @@ +--- +Checks: '-*,modernize-use-nullptr,modernize-use-override,modernize-deprecated-headers' +HeaderFilterRegex: '' +AnalyzeTemporaryDtors: false +... diff --git a/ApplicationExeCode/CMakeLists.txt b/ApplicationExeCode/CMakeLists.txt new file mode 100644 index 0000000000..7ac59bae91 --- /dev/null +++ b/ApplicationExeCode/CMakeLists.txt @@ -0,0 +1,714 @@ +cmake_minimum_required(VERSION 3.12) + +project(ApplicationExeCode) + +# set packaging dir +if(NOT CPACK_PACKAGE_DIRECTORY) + set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}/packages) +endif() + +if(RESINSIGHT_ENABLE_UNITY_BUILD) + message("Cmake Unity build is enabled on : ${PROJECT_NAME}") + set(CMAKE_UNITY_BUILD true) +endif() + +if(CMAKE_COMPILER_IS_GNUCXX) + set(CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -Wno-deprecated -Wno-deprecated-declarations") +endif() + +# Open GL +find_package(OpenGL) + +find_package( + Qt5 + COMPONENTS Core + QUIET) + +if(Qt5Core_FOUND) + find_package( + Qt5 + COMPONENTS Core + Gui + OpenGL + Network + Script + Widgets + Xml + Concurrent + PrintSupport + Svg + OPTIONAL_COMPONENTS Charts) + set(QT_LIBRARIES + Qt5::Core + Qt5::Gui + Qt5::Network + Qt5::OpenGL + Qt5::Script + Qt5::Widgets + Qt5::Xml + Qt5::Concurrent + Qt5::PrintSupport + Qt5::Svg) + if(Qt5Charts_FOUND) + list(APPEND QT_LIBRARIES Qt5::Charts) + endif(Qt5Charts_FOUND) +endif(Qt5Core_FOUND) + +if(MSVC) + # Avoid Qt warnings about macro redefinitions for math constants + add_definitions(-D_USE_MATH_DEFINES) +endif() + +# ############################################################################## +# Defining all the source (and header) files +# ############################################################################## + +set(CODE_HEADER_FILES) + +set(CODE_SOURCE_FILES RiaMain.cpp) + +if(RESINSIGHT_ENABLE_GRPC) + list(APPEND CODE_HEAD_FILES RiaGrpcConsoleApplication.h + RiaGrpcGuiApplication.h) + list(APPEND CODE_SOURCE_FILES RiaGrpcConsoleApplication.cpp + RiaGrpcGuiApplication.cpp) + + list(APPEND QT_MOC_HEADERS RiaGrpcConsoleApplication.h + RiaGrpcGuiApplication.h) + + # Find Protobuf installation Looks for protobuf-config.cmake file installed by + # Protobuf's cmake installation. + set(protobuf_MODULE_COMPATIBLE ON) + find_package(Protobuf CONFIG 3.0 QUIET) + + if(Protobuf_FOUND) + # Find gRPC installation Looks for gRPCConfig.cmake file installed by gRPC's + # cmake installation. + find_package(gRPC CONFIG REQUIRED) + set(_PROTOBUF_LIBPROTOBUF protobuf::libprotobuf) + set(_GRPC_GRPCPP_UNSECURE gRPC::grpc++_unsecure gRPC::grpc_unsecure + gRPC::gpr) + set(GRPC_LINK_LIBRARIES ${_GRPC_GRPCPP_UNSECURE} ${_PROTOBUF_LIBPROTOBUF}) + else() + set(RESINSIGHT_GRPC_INSTALL_PREFIX + "" + CACHE PATH "gRPC : Install prefix for gRPC") + set(ENV{PKG_CONFIG_PATH} "${RESINSIGHT_GRPC_INSTALL_PREFIX}/lib/pkgconfig") + find_package(PkgConfig REQUIRED) + pkg_check_modules( + GRPC + REQUIRED + grpc + grpc++_unsecure>=1.20 + grpc_unsecure + gpr + protobuf + libcares) + endif() +endif() + +list(APPEND CPP_SOURCES ${CODE_SOURCE_FILES}) + +# ############################################################################## +# Qt specifics: Moc, ui, resources +# ############################################################################## + +# NOTE! Resources in subfolders must append to QRC_FILES using the following +# statement set( QRC_FILES ${QRC_FILES} +# ${CMAKE_CURRENT_SOURCE_DIR}/Resources/myLibrary.qrc PARENT_SCOPE ) + +set(QRC_FILES ${QRC_FILES} Resources/ResInsight.qrc) + +# Runs RCC and MOC on specified files +qt5_add_resources(QRC_FILES_CPP ${QRC_FILES}) +qt5_wrap_cpp(MOC_SOURCE_FILES ${QT_MOC_HEADERS}) + +# Adding resource (RC) files for Windows +if(MSVC) + set(WIN_RESOURCE Resources/ResInsight.rc) +endif() + +# ############################################################################## +# Set up the main executable with its source files +# ############################################################################## + +# Default behaviour for a Qt application is a console application, resulting in +# a console window always being launced at startup The following statement is +# used to control this behaviour set_target_properties( MY_TARGET PROPERTIES +# LINK_FLAGS_DEBUG "/SUBSYSTEM:WINDOWS") This setting i not honored by Cmake - +# http://public.kitware.com/Bug/view.php?id=14326 We use the following +# workaround described in the bug report ADD_EXECUTABLE(${TARGET_NAME} WIN32 +# ${SRC}) See CMake symbol WIN32_EXECUTABLE for details + +if(MSVC) + set(EXE_FILES WIN32) +elseif(APPLE) + set(EXE_FILES MACOSX_BUNDLE) +endif() +set(EXE_FILES + ${EXE_FILES} + ${CPP_SOURCES} + ${MOC_SOURCE_FILES} + ${FORM_FILES_CPP} + ${QRC_FILES_CPP} + ${WIN_RESOURCE} + ${HEADER_FILES} + ${REFERENCED_CMAKE_FILES} + .clang-format + .clang-tidy) + +add_executable(ResInsight ${EXE_FILES}) + +option(RESINSIGHT_ENABLE_PRECOMPILED_HEADERS "Use Precompiled Headers" OFF) +mark_as_advanced(FORCE RESINSIGHT_ENABLE_PRECOMPILED_HEADERS) +if(RESINSIGHT_ENABLE_PRECOMPILED_HEADERS) + message("Precompiled Headers is enabled on : ${PROJECT_NAME}") + target_precompile_headers(ResInsight PRIVATE pch.h) + + set_source_files_properties( + ${ResInsight_SOURCE_DIR}/ThirdParty/gtest/gtest-all.cc + PROPERTIES SKIP_PRECOMPILE_HEADERS ON) +endif() + +if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + set_target_properties( + ResInsight + PROPERTIES + COMPILE_FLAGS + "-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch") + # Treat warnings as errors if asked to do so + if(RESINSIGHT_TREAT_WARNINGS_AS_ERRORS) + set_target_properties( + ResInsight + PROPERTIES + COMPILE_FLAGS + "-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch -Werror" + ) + endif() + + if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set_target_properties( + ResInsight + PROPERTIES + COMPILE_FLAGS + "-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch -Wno-delete-abstract-non-virtual-dtor -Wno-undefined-var-template -Wno-invalid-source-encoding -Wno-enum-compare -Wno-call-to-pure-virtual-from-ctor-dtor -Wno-unused-variable -Wno-unused-private-field -Wno-unused-lambda-capture -Wno-delete-non-abstract-non-virtual-dtor -Wno-braced-scalar-init -Wno-tautological-constant-out-of-range-compare" + ) + endif() +endif() + +if(MSVC) + # The following warnings are supposed to be used in ResInsight, but + # temporarily disabled to avoid too much noise warning C4245: 'return': + # conversion from 'int' to 'size_t', signed/unsigned mismatch warning C4005: + # Macro redefinition for math constants (M_PI, M_SQRT2 etc) + + # If possible, the following command is supposed to be the final target + # set_target_properties(ResInsight PROPERTIES COMPILE_FLAGS "/W3 /wd4190 + # /wd4100 /wd4127") + + set(BUILD_FLAGS_FOR_MSVC "/wd4190 /wd4100 /wd4127 /wd4245 /wd4005") + + if(Qt5Core_VERSION_STRING GREATER_EQUAL 5.10) + # Disable warning for deprecated functions in newer versions of Qt + # https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-3-c4996?view=msvc-160 + set(BUILD_FLAGS_FOR_MSVC "${BUILD_FLAGS_FOR_MSVC} /wd4996") + endif() + + if(CMAKE_CXX_COMPILER_VERSION LESS_EQUAL 19.14) + # The following warning is generated over 800 times from a qwt header only + # using VS2015 Disabling temporarily warning C4505 'function' : unreferenced + # local function has been removed + set(BUILD_FLAGS_FOR_MSVC "${BUILD_FLAGS_FOR_MSVC} /wd4505") + endif() + + message(STATUS "BUILD_FLAGS_FOR_MSVC ${BUILD_FLAGS_FOR_MSVC}") + set_target_properties(ResInsight PROPERTIES COMPILE_FLAGS + ${BUILD_FLAGS_FOR_MSVC}) + +endif() + +# ############################################################################## +# Application icon for MacOS X bundle +# ############################################################################## + +if(APPLE) + add_custom_command( + OUTPUT Resources/ResInsight.icns + COMMAND + sips -s format icns ${CMAKE_CURRENT_SOURCE_DIR}/Resources/AppLogo48x48.png + --out ${CMAKE_CURRENT_BINARY_DIR}/Resources/ResInsight.icns + COMMENT Converting application icon) + add_custom_target( + ResInsight-icns + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Resources/ResInsight.icns) + add_dependencies(ResInsight ResInsight-icns) + set_target_properties( + ResInsight PROPERTIES MACOSX_BUNDLE_ICON_FILE + ${CMAKE_CURRENT_BINARY_DIR}/Resources/ResInsight.icns) +endif() + +if(RESINSIGHT_ENABLE_GRPC) + list(APPEND THIRD_PARTY_LIBRARIES ${GRPC_LINK_LIBRARIES}) + + if(MSVC) + set_target_properties(ResInsight PROPERTIES LINK_FLAGS_RELWITHDEBINFO + "/NODEFAULTLIB:MSVCRTD.lib") + endif() +endif() + +# ############################################################################## +# Set up libraries and dependent projects to link with +# ############################################################################## + +message( + STATUS "Linking with the following OpenGL libraries: ${OPENGL_LIBRARIES}") +message(STATUS "GRPC LIBS: ${GRPC_LINK_LIBRARIES}") + +# According to ivarun rt is needed on OpenSuse, and Fedora. See: +# https://github.com/OPM/ResInsight/pull/7 +if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + list(APPEND THIRD_PARTY_LIBRARIES rt) +endif() + +set(LINK_LIBRARIES + ${THIRD_PARTY_LIBRARIES} + ${OPENGL_LIBRARIES} + ${QT_LIBRARIES} + ${OPM_LIBRARIES} + ${APP_FWK_LIBRARIES} + ${VIZ_FWK_LIBRARIES} + ApplicationLibCode + Commands) + +if(RESINSIGHT_ENABLE_GRPC) + list(APPEND LINK_LIBRARIES GrpcInterface) +endif() + +if(DEFINED GRPC_LIBRARY_DIRS) + target_link_directories(ResInsight PRIVATE ${GRPC_LIBRARY_DIRS}) +endif() + +target_link_libraries(ResInsight ${LINK_LIBRARIES}) + +# ############################################################################## +# Unity builds +# ############################################################################## + +set(UNITY_EXCLUDE_FILES + # forever is used as variable name, and this symbol is defined by Qt and + # used in precompiled headers + ${ResInsight_SOURCE_DIR}/ThirdParty/gtest/gtest-all.cc + qrc_cafAnimControl.cpp + qrc_ResInsight.cpp + qrc_cafCommandFeatures.cpp + # Exclude files including opm-common + ProjectDataModel/RimVfpTableExtractor.cpp + ProjectDataModel/RimVfpPlot.cpp) + +if(RESINSIGHT_ENABLE_UNITY_BUILD) + foreach(fileToExclude ${UNITY_EXCLUDE_FILES}) + set_source_files_properties(${fileToExclude} + PROPERTIES SKIP_UNITY_BUILD_INCLUSION TRUE) + endforeach(fileToExclude) +endif() + +# ############################################################################## +# Copy Dlls on MSVC +# ############################################################################## +if(MSVC) + + if(NOT ${RESINSIGHT_ODB_API_DIR} EQUAL "") + set(RESINSIGHT_USE_ODB_API 1) + endif() + + # Odb Dlls + if(RESINSIGHT_USE_ODB_API) + # Find all the dlls + file(GLOB RI_ALL_ODB_DLLS ${RESINSIGHT_ODB_API_DIR}/lib/*.dll) + + # Strip off the path + foreach(aDLL ${RI_ALL_ODB_DLLS}) + get_filename_component(filenameWithExt ${aDLL} NAME) + list(APPEND RI_ODB_DLLS ${filenameWithExt}) + endforeach(aDLL) + + foreach(aDLL ${RI_ODB_DLLS}) + list(APPEND RI_DLL_FILENAMES ${RESINSIGHT_ODB_API_DIR}/lib/${aDLL}) + endforeach() + endif() + + # HDF5 Dlls + if(RESINSIGHT_FOUND_HDF5) + set(HDF5_DLL_NAMES hdf5 hdf5_cpp szip zlib) + foreach(HDF5_DLL_NAME ${HDF5_DLL_NAMES}) + list(APPEND RI_DLL_FILENAMES + ${RESINSIGHT_HDF5_DIR}/bin/${HDF5_DLL_NAME}.dll) + endforeach(HDF5_DLL_NAME) + endif() + +endif(MSVC) + +# Copy to target directory +foreach(FILE_TO_COPY ${RI_DLL_FILENAMES}) + add_custom_command( + TARGET ResInsight + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE_TO_COPY} + $) + if(_unityTargetName) + add_custom_command( + TARGET ${_unityTargetName} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE_TO_COPY} + $) + endif() +endforeach() + +# Generate Python code in a target that is part of ALL_BUILD and depends on +# ResInsight +if(RESINSIGHT_ENABLE_GRPC) + add_custom_command( + OUTPUT + ${CMAKE_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py + COMMAND + ResInsight ARGS --console --generate + ${CMAKE_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py + DEPENDS ResInsight + COMMENT + "Generating ${CMAKE_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py" + ) + add_custom_target( + ResInsightPythonClasses ALL + DEPENDS + ${CMAKE_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py + ) + add_dependencies(ResInsightPythonClasses ResInsight) + +endif(RESINSIGHT_ENABLE_GRPC) + +# ############################################################################## +# Install +# ############################################################################## + +# bundle libraries together with private installation +if(RESINSIGHT_PRIVATE_INSTALL) + if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + # tell binary to first attempt to load libraries from its own directory + set(RESINSIGHT_INSTALL_RPATH "\$ORIGIN") + + if(${RESINSIGHT_USE_ODB_API}) + # This is a "hack" to make ResInsight runtime find the ODB so files used + # when compiling. statoil wanted it this way, but we should probbly make a + # different installoptions that does things this way, and really do copy + # them when doing PRIVATE_INSTALL + set(RESINSIGHT_INSTALL_RPATH ${RESINSIGHT_INSTALL_RPATH} + ${RESINSIGHT_ODB_API_DIR}/lib) + endif() + + if(EXISTS ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT}) + # append the external ERT lib root + set(RESINSIGHT_INSTALL_RPATH ${RESINSIGHT_INSTALL_RPATH} + ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT}) + endif() + + # message("RESINSIGHT_INSTALL_RPATH : " "${RESINSIGHT_INSTALL_RPATH}") + + set_target_properties(ResInsight PROPERTIES INSTALL_RPATH + "${RESINSIGHT_INSTALL_RPATH}") + + # bundle Qt5 libraries + option(RESINSIGHT_QT5_BUNDLE_LIBRARIES "Bundle Qt5 libraries" OFF) + mark_as_advanced(FORCE RESINSIGHT_QT5_BUNDLE_LIBRARIES) + if(RESINSIGHT_QT5_BUNDLE_LIBRARIES) + message(STATUS "Bundling of Qt5 libraries is enabled") + + # Get root directory + get_property( + _filepath + TARGET "Qt5::Core" + PROPERTY LOCATION_RELEASE) + get_filename_component(_dir ${_filepath} PATH) + + foreach(qtlib ${QT_LIBRARIES}) + get_target_property(FILE_NAME_FULL_PATH ${qtlib} LOCATION) + message(STATUS "${qtlib} location on disk - ${FILE_NAME_FULL_PATH}") + get_filename_component(FILE_NAME_WE ${FILE_NAME_FULL_PATH} NAME_WE) + message(STATUS "${FILE_NAME_WE} name without ext - ${FILE_NAME_WE}") + + list(APPEND QT_INSTALL_FILES_WITHOUT_EXTENSION ${FILE_NAME_WE}) + endforeach() + + # XcbQpa is used by libXcb.so required by platform plugin xcb + list(APPEND QT_INSTALL_FILES_WITHOUT_EXTENSION libQt5XcbQpa libQt5DBus) + + # append icu + list(APPEND QT_INSTALL_FILES_WITHOUT_EXTENSION libicu*) + + foreach(installfile ${QT_INSTALL_FILES_WITHOUT_EXTENSION}) + file(GLOB FILE_AND_SYMLINKS ${_dir}/${installfile}.so*) + install( + FILES ${FILE_AND_SYMLINKS} + DESTINATION ${RESINSIGHT_INSTALL_FOLDER} + OPTIONAL) + endforeach() + + set(QT_PLUGIN_PATH "$ENV{QT_PLUGIN_PATH}") + if(QT_PLUGIN_PATH STREQUAL "") + set(QT_PLUGIN_PATH "${_dir}/qt5/plugins/") + endif() + message(STATUS "QT_PLUGIN_PATH : ${QT_PLUGIN_PATH}") + + # include platform files + install(FILES ${QT_PLUGIN_PATH}/platforms/libqxcb.so + DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/platforms/) + install(FILES ${QT_PLUGIN_PATH}/imageformats/libqsvg.so + DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/imageformats/) + install(FILES ${QT_PLUGIN_PATH}/iconengines/libqsvgicon.so + DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/iconengines/) + + # Required by xcb module used to create OpenGL widgets + install( + FILES ${QT_PLUGIN_PATH}/xcbglintegrations/libqxcb-egl-integration.so + DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/plugins/xcbglintegrations/ + OPTIONAL) + install( + FILES ${QT_PLUGIN_PATH}/xcbglintegrations/libqxcb-glx-integration.so + DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/plugins/xcbglintegrations/ + OPTIONAL) + + endif(RESINSIGHT_QT5_BUNDLE_LIBRARIES) + + endif() + + if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + # put a .exe.local file in the target directory to pick up DLLs from there + install( + CODE "exec_program (\"${CMAKE_COMMAND}\" ARGS -E touch \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}ResInsight${CMAKE_EXECUTABLE_SUFFIX}.local)" + ) + + set(RESINSIGHT_FILES ${RI_DLL_FILENAMES}) + + if(WIN32 + AND TARGET Qt5::qmake + AND NOT TARGET Qt5::windeployqt) + get_target_property(_qt5_qmake_location Qt5::qmake IMPORTED_LOCATION) + + execute_process( + COMMAND "${_qt5_qmake_location}" -query QT_INSTALL_PREFIX + RESULT_VARIABLE return_code + OUTPUT_VARIABLE qt5_install_prefix + OUTPUT_STRIP_TRAILING_WHITESPACE) + + set(imported_location "${qt5_install_prefix}/bin/windeployqt.exe") + + message(STATUS "QMAKE: ${_qt5_qmake_location}") + message(STATUS "QTPREFIX: ${qt5_install_prefix}") + + if(EXISTS ${imported_location}) + add_executable(Qt5::windeployqt IMPORTED) + + set_target_properties(Qt5::windeployqt PROPERTIES IMPORTED_LOCATION + ${imported_location}) + endif() + endif() + + # TODO(wjwwood): find a way to make this optional or to run without + # "deploying" the necessary dlls and stuff to the bin folder. see: + # https://stackoverflow.com/questions/41193584/deploy-all-qt-dependencies-when-building#41199492 + if(TARGET Qt5::windeployqt) + # execute windeployqt in a tmp directory after build + add_custom_command( + TARGET ResInsight + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E remove_directory + "${CMAKE_CURRENT_BINARY_DIR}/windeployqt" + COMMAND set PATH=%PATH%$${qt5_install_prefix}/bin + COMMAND + Qt5::windeployqt --no-compiler-runtime --no-system-d3d-compiler + --no-quick-import --no-translations --verbose 0 --dir + "${CMAKE_CURRENT_BINARY_DIR}/windeployqt" + "$/$") + + # Qt DLLs + message(STATUS "Creating post build step for copying Qt DLLs") + + # copy all files in the windeployqt directory to the installation + # directory + add_custom_command( + TARGET ResInsight + POST_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy_directory + "${CMAKE_CURRENT_BINARY_DIR}/windeployqt/" + $) + + if(_unityTargetName) + foreach(qtlib ${QT_LIBRARIES}) + add_custom_command( + TARGET ${_unityTargetName} + POST_BUILD + COMMAND + ${CMAKE_COMMAND} -E copy_if_different $ + $) + endforeach(qtlib) + endif(_unityTargetName) + + # copy deployment directory during installation + install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/windeployqt/" + DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) + endif() + + # install GRPC-related DLLs and resinsight_classes.py + if(RESINSIGHT_ENABLE_GRPC) + set(ZLIB_DLL "$,zlibd1,zlib1>") + set(GRPC_DLL_NAMES cares ${ZLIB_DLL} abseil_dll) + foreach(dllname ${GRPC_DLL_NAMES}) + install(FILES $/${dllname}.dll + DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) + endforeach(dllname ${GRPC_DLL_NAMES}) + install( + FILES + ${CMAKE_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py + DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/Python/rips/generated) + endif() + + # OpenSSL + option(RESINSIGHT_BUNDLE_OPENSSL "Bundle the OpenSSL binary DLLs" OFF) + mark_as_advanced(FORCE RESINSIGHT_BUNDLE_OPENSSL) + + if(RESINSIGHT_BUNDLE_OPENSSL) + find_package(OpenSSL) + if(OPENSSL_FOUND) + message("OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}") + set(OPENSSL_BIN_DIR ${OPENSSL_INCLUDE_DIR}) + string(REPLACE "include" "bin" OPENSSL_BIN_DIR ${OPENSSL_BIN_DIR}) + message("OpenSSL binary dir: ${OPENSSL_BIN_DIR}") + + install(FILES ${OPENSSL_BIN_DIR}/libcrypto-1_1-x64.dll + DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) + install(FILES ${OPENSSL_BIN_DIR}/libssl-1_1-x64.dll + DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) + endif(OPENSSL_FOUND) + endif(RESINSIGHT_BUNDLE_OPENSSL) + + # Boost + find_package(Boost REQUIRED filesystem system) + + get_property( + _filepath + TARGET "Boost::filesystem" + PROPERTY LOCATION_RELEASE) + message("_filepath: ${_filepath}") + + # The location of Boost is based on the file structure as installed by vcpkg + # The DLLs are located in the /bin folder + get_filename_component(_dir ${_filepath} PATH) + string(REPLACE "/lib" "/bin" _dir ${_dir}) + + # Use file clobbing, as the dlls are decorated with local compiler info + file(GLOB RI_BOOST_DLLS ${_dir}/boost_filesystem*.dll) + + message("RI_BOOST_DLLS : ${RI_BOOST_DLLS}") + + install( + FILES ${RI_BOOST_DLLS} + DESTINATION ${RESINSIGHT_INSTALL_FOLDER} + CONFIGURATIONS Debug Release RelWithDebInfo) + + # CRT + set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP ON) + set(CMAKE_INSTALL_OPENMP_LIBRARIES ON) + include(InstallRequiredSystemLibraries) + install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} + DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) + + endif() + + install(TARGETS ResInsight DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) + + install(FILES ${RESINSIGHT_FILES} DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) + + if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/resinsight + DESTINATION ${RESINSIGHT_INSTALL_FOLDER} + PERMISSIONS + OWNER_READ + OWNER_WRITE + OWNER_EXECUTE + GROUP_READ + GROUP_EXECUTE + WORLD_READ + WORLD_EXECUTE) + endif() + +else(RESINSIGHT_PRIVATE_INSTALL) + # binaries go in /usr/bin + install(TARGETS ResInsight DESTINATION bin) + # license go in /usr/share/doc + install(FILES ${RESINSIGHT_LICENSE_FILES} DESTINATION share/doc/ResInsight) + # no bundled libraries for system install application icon + install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/Resources/AppLogo48x48.png + DESTINATION share/icons/hicolor/48x48/apps + RENAME ResInsight.png) + # desktop environment icon; remember to call `update-desktop-database` in + # package post-install scripts + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/resinsight.desktop.in + ${CMAKE_CURRENT_BINARY_DIR}/resinsight.desktop @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/resinsight.desktop + DESTINATION share/applications) +endif(RESINSIGHT_PRIVATE_INSTALL) + +# ############################################################################## +# Installation packaging +# ############################################################################## + +if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + set(CPACK_GENERATOR TGZ) +elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + set(CPACK_GENERATOR ZIP) +endif() + +# Handling of system name on Windows +if(${CMAKE_SYSTEM_NAME} MATCHES Windows) + if(CMAKE_CL_64) + set(CPACK_SYSTEM_NAME win64) + else() + set(CPACK_SYSTEM_NAME win32) + endif() +endif() + +# Append el5 when compiled on RHEL5 and el6 if compiled on RHEL6 +string(REGEX MATCH "el[6,7,8]?" RESINSIGHT_RHEL_SYSTEM_NAME ${CMAKE_SYSTEM}) + +set(RESINSIGHT_PACKAGE_NAME "ResInsight") + +set(RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}-${STRPRODUCTVER}") + +if(NOT ${RESINSIGHT_ODB_API_DIR} EQUAL "") + set(RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}_odb") +endif() + +if(NOT ${OCTAVE_VERSION_STRING} EQUAL "") + set(RESINSIGHT_PACKAGE_NAME + "${RESINSIGHT_PACKAGE_NAME}_oct-${OCTAVE_VERSION_STRING}") +endif() + +if(RESINSIGHT_BUNDLE_OPENSSL AND OPENSSL_FOUND) + set(RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}_openssl") +endif() + +# Append el5 when compiled on RHEL5 and el6 if compiled on RHEL6 +if(NOT "${RESINSIGHT_RHEL_SYSTEM_NAME}" STREQUAL "") + set(RESINSIGHT_PACKAGE_NAME + "${RESINSIGHT_PACKAGE_NAME}_${RESINSIGHT_RHEL_SYSTEM_NAME}") +else() + set(RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}_${CPACK_SYSTEM_NAME}") +endif() + +# message("RESINSIGHT_PACKAGE_NAME : " ${RESINSIGHT_PACKAGE_NAME}) +set(CPACK_PACKAGE_FILE_NAME ${RESINSIGHT_PACKAGE_NAME}) + +include(CPack) diff --git a/ApplicationLibCode/Resources/2DMap16x16.png b/ApplicationExeCode/Resources/2DMap16x16.png similarity index 100% rename from ApplicationLibCode/Resources/2DMap16x16.png rename to ApplicationExeCode/Resources/2DMap16x16.png diff --git a/ApplicationLibCode/Resources/2DMap16x16.xcf b/ApplicationExeCode/Resources/2DMap16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/2DMap16x16.xcf rename to ApplicationExeCode/Resources/2DMap16x16.xcf diff --git a/ApplicationLibCode/Resources/2DMapProjection16x16.png b/ApplicationExeCode/Resources/2DMapProjection16x16.png similarity index 100% rename from ApplicationLibCode/Resources/2DMapProjection16x16.png rename to ApplicationExeCode/Resources/2DMapProjection16x16.png diff --git a/ApplicationLibCode/Resources/2DMapProjection16x16.xcf b/ApplicationExeCode/Resources/2DMapProjection16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/2DMapProjection16x16.xcf rename to ApplicationExeCode/Resources/2DMapProjection16x16.xcf diff --git a/ApplicationLibCode/Resources/2DMaps16x16.png b/ApplicationExeCode/Resources/2DMaps16x16.png similarity index 100% rename from ApplicationLibCode/Resources/2DMaps16x16.png rename to ApplicationExeCode/Resources/2DMaps16x16.png diff --git a/ApplicationLibCode/Resources/2DMaps16x16.xcf b/ApplicationExeCode/Resources/2DMaps16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/2DMaps16x16.xcf rename to ApplicationExeCode/Resources/2DMaps16x16.xcf diff --git a/ApplicationLibCode/Resources/3DView16x16.png b/ApplicationExeCode/Resources/3DView16x16.png similarity index 100% rename from ApplicationLibCode/Resources/3DView16x16.png rename to ApplicationExeCode/Resources/3DView16x16.png diff --git a/ApplicationLibCode/Resources/3DView16x16.xcf b/ApplicationExeCode/Resources/3DView16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/3DView16x16.xcf rename to ApplicationExeCode/Resources/3DView16x16.xcf diff --git a/ApplicationLibCode/Resources/3DViewGeoMech16x16.png b/ApplicationExeCode/Resources/3DViewGeoMech16x16.png similarity index 100% rename from ApplicationLibCode/Resources/3DViewGeoMech16x16.png rename to ApplicationExeCode/Resources/3DViewGeoMech16x16.png diff --git a/ApplicationLibCode/Resources/3DWindow.svg b/ApplicationExeCode/Resources/3DWindow.svg similarity index 100% rename from ApplicationLibCode/Resources/3DWindow.svg rename to ApplicationExeCode/Resources/3DWindow.svg diff --git a/ApplicationLibCode/Resources/3DWindow24x24.png b/ApplicationExeCode/Resources/3DWindow24x24.png similarity index 100% rename from ApplicationLibCode/Resources/3DWindow24x24.png rename to ApplicationExeCode/Resources/3DWindow24x24.png diff --git a/ApplicationLibCode/Resources/3DWindow24x24.xcf b/ApplicationExeCode/Resources/3DWindow24x24.xcf similarity index 100% rename from ApplicationLibCode/Resources/3DWindow24x24.xcf rename to ApplicationExeCode/Resources/3DWindow24x24.xcf diff --git a/ApplicationLibCode/Resources/AICDValve16x16.png b/ApplicationExeCode/Resources/AICDValve16x16.png similarity index 100% rename from ApplicationLibCode/Resources/AICDValve16x16.png rename to ApplicationExeCode/Resources/AICDValve16x16.png diff --git a/ApplicationLibCode/Resources/AICDValve16x16.xcf b/ApplicationExeCode/Resources/AICDValve16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/AICDValve16x16.xcf rename to ApplicationExeCode/Resources/AICDValve16x16.xcf diff --git a/ApplicationLibCode/Resources/AnalysisPlot16x16.png b/ApplicationExeCode/Resources/AnalysisPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/AnalysisPlot16x16.png rename to ApplicationExeCode/Resources/AnalysisPlot16x16.png diff --git a/ApplicationLibCode/Resources/AnalysisPlot16x16.xcf b/ApplicationExeCode/Resources/AnalysisPlot16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/AnalysisPlot16x16.xcf rename to ApplicationExeCode/Resources/AnalysisPlot16x16.xcf diff --git a/ApplicationLibCode/Resources/AnalysisPlotFilter16x16.png b/ApplicationExeCode/Resources/AnalysisPlotFilter16x16.png similarity index 100% rename from ApplicationLibCode/Resources/AnalysisPlotFilter16x16.png rename to ApplicationExeCode/Resources/AnalysisPlotFilter16x16.png diff --git a/ApplicationLibCode/Resources/AnalysisPlotFilter16x16.xcf b/ApplicationExeCode/Resources/AnalysisPlotFilter16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/AnalysisPlotFilter16x16.xcf rename to ApplicationExeCode/Resources/AnalysisPlotFilter16x16.xcf diff --git a/ApplicationLibCode/Resources/AnalysisPlots16x16.png b/ApplicationExeCode/Resources/AnalysisPlots16x16.png similarity index 100% rename from ApplicationLibCode/Resources/AnalysisPlots16x16.png rename to ApplicationExeCode/Resources/AnalysisPlots16x16.png diff --git a/ApplicationLibCode/Resources/AnalysisPlots16x16.xcf b/ApplicationExeCode/Resources/AnalysisPlots16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/AnalysisPlots16x16.xcf rename to ApplicationExeCode/Resources/AnalysisPlots16x16.xcf diff --git a/ApplicationLibCode/Resources/Annotations16x16.png b/ApplicationExeCode/Resources/Annotations16x16.png similarity index 100% rename from ApplicationLibCode/Resources/Annotations16x16.png rename to ApplicationExeCode/Resources/Annotations16x16.png diff --git a/ApplicationLibCode/Resources/AppLogo48x48.ico b/ApplicationExeCode/Resources/AppLogo48x48.ico similarity index 100% rename from ApplicationLibCode/Resources/AppLogo48x48.ico rename to ApplicationExeCode/Resources/AppLogo48x48.ico diff --git a/ApplicationLibCode/Resources/AppLogo48x48.png b/ApplicationExeCode/Resources/AppLogo48x48.png similarity index 100% rename from ApplicationLibCode/Resources/AppLogo48x48.png rename to ApplicationExeCode/Resources/AppLogo48x48.png diff --git a/ApplicationLibCode/Resources/Axes16x16.png b/ApplicationExeCode/Resources/Axes16x16.png similarity index 100% rename from ApplicationLibCode/Resources/Axes16x16.png rename to ApplicationExeCode/Resources/Axes16x16.png diff --git a/ApplicationLibCode/Resources/BottomAxis16x16.png b/ApplicationExeCode/Resources/BottomAxis16x16.png similarity index 100% rename from ApplicationLibCode/Resources/BottomAxis16x16.png rename to ApplicationExeCode/Resources/BottomAxis16x16.png diff --git a/ApplicationLibCode/Resources/BottomAxis16x16.xcf b/ApplicationExeCode/Resources/BottomAxis16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/BottomAxis16x16.xcf rename to ApplicationExeCode/Resources/BottomAxis16x16.xcf diff --git a/ApplicationLibCode/Resources/Calculator.svg b/ApplicationExeCode/Resources/Calculator.svg similarity index 100% rename from ApplicationLibCode/Resources/Calculator.svg rename to ApplicationExeCode/Resources/Calculator.svg diff --git a/ApplicationLibCode/Resources/CascadeWindows.svg b/ApplicationExeCode/Resources/CascadeWindows.svg similarity index 100% rename from ApplicationLibCode/Resources/CascadeWindows.svg rename to ApplicationExeCode/Resources/CascadeWindows.svg diff --git a/ApplicationLibCode/Resources/Case.svg b/ApplicationExeCode/Resources/Case.svg similarity index 100% rename from ApplicationLibCode/Resources/Case.svg rename to ApplicationExeCode/Resources/Case.svg diff --git a/ApplicationLibCode/Resources/Case24x24.png b/ApplicationExeCode/Resources/Case24x24.png similarity index 100% rename from ApplicationLibCode/Resources/Case24x24.png rename to ApplicationExeCode/Resources/Case24x24.png diff --git a/ApplicationLibCode/Resources/Case48x48.png b/ApplicationExeCode/Resources/Case48x48.png similarity index 100% rename from ApplicationLibCode/Resources/Case48x48.png rename to ApplicationExeCode/Resources/Case48x48.png diff --git a/ApplicationLibCode/Resources/Case48x48.xcf b/ApplicationExeCode/Resources/Case48x48.xcf similarity index 100% rename from ApplicationLibCode/Resources/Case48x48.xcf rename to ApplicationExeCode/Resources/Case48x48.xcf diff --git a/ApplicationLibCode/Resources/Cases16x16.png b/ApplicationExeCode/Resources/Cases16x16.png similarity index 100% rename from ApplicationLibCode/Resources/Cases16x16.png rename to ApplicationExeCode/Resources/Cases16x16.png diff --git a/ApplicationLibCode/Resources/Cases16x16.xcf b/ApplicationExeCode/Resources/Cases16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/Cases16x16.xcf rename to ApplicationExeCode/Resources/Cases16x16.xcf diff --git a/ApplicationLibCode/Resources/CasingDesign16x16.png b/ApplicationExeCode/Resources/CasingDesign16x16.png similarity index 100% rename from ApplicationLibCode/Resources/CasingDesign16x16.png rename to ApplicationExeCode/Resources/CasingDesign16x16.png diff --git a/ApplicationLibCode/Resources/CasingDesign16x16.xcf b/ApplicationExeCode/Resources/CasingDesign16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/CasingDesign16x16.xcf rename to ApplicationExeCode/Resources/CasingDesign16x16.xcf diff --git a/ApplicationLibCode/Resources/CellFilter_Range.png b/ApplicationExeCode/Resources/CellFilter_Range.png similarity index 100% rename from ApplicationLibCode/Resources/CellFilter_Range.png rename to ApplicationExeCode/Resources/CellFilter_Range.png diff --git a/ApplicationLibCode/Resources/CellFilter_Values.png b/ApplicationExeCode/Resources/CellFilter_Values.png similarity index 100% rename from ApplicationLibCode/Resources/CellFilter_Values.png rename to ApplicationExeCode/Resources/CellFilter_Values.png diff --git a/ApplicationLibCode/Resources/CellResult.png b/ApplicationExeCode/Resources/CellResult.png similarity index 100% rename from ApplicationLibCode/Resources/CellResult.png rename to ApplicationExeCode/Resources/CellResult.png diff --git a/ApplicationLibCode/Resources/Close.svg b/ApplicationExeCode/Resources/Close.svg similarity index 100% rename from ApplicationLibCode/Resources/Close.svg rename to ApplicationExeCode/Resources/Close.svg diff --git a/ApplicationLibCode/Resources/Columns1.png b/ApplicationExeCode/Resources/Columns1.png similarity index 100% rename from ApplicationLibCode/Resources/Columns1.png rename to ApplicationExeCode/Resources/Columns1.png diff --git a/ApplicationLibCode/Resources/Columns2.png b/ApplicationExeCode/Resources/Columns2.png similarity index 100% rename from ApplicationLibCode/Resources/Columns2.png rename to ApplicationExeCode/Resources/Columns2.png diff --git a/ApplicationLibCode/Resources/Columns3.png b/ApplicationExeCode/Resources/Columns3.png similarity index 100% rename from ApplicationLibCode/Resources/Columns3.png rename to ApplicationExeCode/Resources/Columns3.png diff --git a/ApplicationLibCode/Resources/Columns4.png b/ApplicationExeCode/Resources/Columns4.png similarity index 100% rename from ApplicationLibCode/Resources/Columns4.png rename to ApplicationExeCode/Resources/Columns4.png diff --git a/ApplicationLibCode/Resources/ColumnsUnlimited.png b/ApplicationExeCode/Resources/ColumnsUnlimited.png similarity index 100% rename from ApplicationLibCode/Resources/ColumnsUnlimited.png rename to ApplicationExeCode/Resources/ColumnsUnlimited.png diff --git a/ApplicationLibCode/Resources/ComparisonView16x16.png b/ApplicationExeCode/Resources/ComparisonView16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ComparisonView16x16.png rename to ApplicationExeCode/Resources/ComparisonView16x16.png diff --git a/ApplicationLibCode/Resources/CompletionsSymbol16x16.png b/ApplicationExeCode/Resources/CompletionsSymbol16x16.png similarity index 100% rename from ApplicationLibCode/Resources/CompletionsSymbol16x16.png rename to ApplicationExeCode/Resources/CompletionsSymbol16x16.png diff --git a/ApplicationLibCode/Resources/CompletionsSymbol16x16.xcf b/ApplicationExeCode/Resources/CompletionsSymbol16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/CompletionsSymbol16x16.xcf rename to ApplicationExeCode/Resources/CompletionsSymbol16x16.xcf diff --git a/ApplicationLibCode/Resources/ControlledView16x16.png b/ApplicationExeCode/Resources/ControlledView16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ControlledView16x16.png rename to ApplicationExeCode/Resources/ControlledView16x16.png diff --git a/ApplicationLibCode/Resources/Copy.png b/ApplicationExeCode/Resources/Copy.png similarity index 100% rename from ApplicationLibCode/Resources/Copy.png rename to ApplicationExeCode/Resources/Copy.png diff --git a/ApplicationLibCode/Resources/Copy.svg b/ApplicationExeCode/Resources/Copy.svg similarity index 100% rename from ApplicationLibCode/Resources/Copy.svg rename to ApplicationExeCode/Resources/Copy.svg diff --git a/ApplicationLibCode/Resources/Copy.xcf b/ApplicationExeCode/Resources/Copy.xcf similarity index 100% rename from ApplicationLibCode/Resources/Copy.xcf rename to ApplicationExeCode/Resources/Copy.xcf diff --git a/ApplicationLibCode/Resources/CorrelationCrossPlot16x16.png b/ApplicationExeCode/Resources/CorrelationCrossPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/CorrelationCrossPlot16x16.png rename to ApplicationExeCode/Resources/CorrelationCrossPlot16x16.png diff --git a/ApplicationLibCode/Resources/CorrelationMatrixPlot16x16.png b/ApplicationExeCode/Resources/CorrelationMatrixPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/CorrelationMatrixPlot16x16.png rename to ApplicationExeCode/Resources/CorrelationMatrixPlot16x16.png diff --git a/ApplicationLibCode/Resources/CorrelationPlots16x16.png b/ApplicationExeCode/Resources/CorrelationPlots16x16.png similarity index 100% rename from ApplicationLibCode/Resources/CorrelationPlots16x16.png rename to ApplicationExeCode/Resources/CorrelationPlots16x16.png diff --git a/ApplicationLibCode/Resources/CorrelationReportPlot16x16.png b/ApplicationExeCode/Resources/CorrelationReportPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/CorrelationReportPlot16x16.png rename to ApplicationExeCode/Resources/CorrelationReportPlot16x16.png diff --git a/ApplicationLibCode/Resources/CorrelationTornadoPlot16x16.png b/ApplicationExeCode/Resources/CorrelationTornadoPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/CorrelationTornadoPlot16x16.png rename to ApplicationExeCode/Resources/CorrelationTornadoPlot16x16.png diff --git a/ApplicationLibCode/Resources/CreateGridCaseGroup16x16.png b/ApplicationExeCode/Resources/CreateGridCaseGroup16x16.png similarity index 100% rename from ApplicationLibCode/Resources/CreateGridCaseGroup16x16.png rename to ApplicationExeCode/Resources/CreateGridCaseGroup16x16.png diff --git a/ApplicationLibCode/Resources/CrossSection16x16.png b/ApplicationExeCode/Resources/CrossSection16x16.png similarity index 100% rename from ApplicationLibCode/Resources/CrossSection16x16.png rename to ApplicationExeCode/Resources/CrossSection16x16.png diff --git a/ApplicationLibCode/Resources/CrossSections16x16.png b/ApplicationExeCode/Resources/CrossSections16x16.png similarity index 100% rename from ApplicationLibCode/Resources/CrossSections16x16.png rename to ApplicationExeCode/Resources/CrossSections16x16.png diff --git a/ApplicationLibCode/Resources/CumulativePhaseDist16x16.png b/ApplicationExeCode/Resources/CumulativePhaseDist16x16.png similarity index 100% rename from ApplicationLibCode/Resources/CumulativePhaseDist16x16.png rename to ApplicationExeCode/Resources/CumulativePhaseDist16x16.png diff --git a/ApplicationLibCode/Resources/CumulativePhaseDist16x16.xcf b/ApplicationExeCode/Resources/CumulativePhaseDist16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/CumulativePhaseDist16x16.xcf rename to ApplicationExeCode/Resources/CumulativePhaseDist16x16.xcf diff --git a/ApplicationLibCode/Resources/DownView.svg b/ApplicationExeCode/Resources/DownView.svg similarity index 100% rename from ApplicationLibCode/Resources/DownView.svg rename to ApplicationExeCode/Resources/DownView.svg diff --git a/ApplicationLibCode/Resources/DownViewArrow.png b/ApplicationExeCode/Resources/DownViewArrow.png similarity index 100% rename from ApplicationLibCode/Resources/DownViewArrow.png rename to ApplicationExeCode/Resources/DownViewArrow.png diff --git a/ApplicationLibCode/Resources/DownViewArrow.xcf b/ApplicationExeCode/Resources/DownViewArrow.xcf similarity index 100% rename from ApplicationLibCode/Resources/DownViewArrow.xcf rename to ApplicationExeCode/Resources/DownViewArrow.xcf diff --git a/ApplicationLibCode/Resources/DrawLightingDisabled.svg b/ApplicationExeCode/Resources/DrawLightingDisabled.svg similarity index 100% rename from ApplicationLibCode/Resources/DrawLightingDisabled.svg rename to ApplicationExeCode/Resources/DrawLightingDisabled.svg diff --git a/ApplicationLibCode/Resources/DrawLightingEnabled.svg b/ApplicationExeCode/Resources/DrawLightingEnabled.svg similarity index 100% rename from ApplicationLibCode/Resources/DrawLightingEnabled.svg rename to ApplicationExeCode/Resources/DrawLightingEnabled.svg diff --git a/ApplicationLibCode/Resources/DrawStyleHideCells.svg b/ApplicationExeCode/Resources/DrawStyleHideCells.svg similarity index 100% rename from ApplicationLibCode/Resources/DrawStyleHideCells.svg rename to ApplicationExeCode/Resources/DrawStyleHideCells.svg diff --git a/ApplicationLibCode/Resources/DrawStyleLines.svg b/ApplicationExeCode/Resources/DrawStyleLines.svg similarity index 100% rename from ApplicationLibCode/Resources/DrawStyleLines.svg rename to ApplicationExeCode/Resources/DrawStyleLines.svg diff --git a/ApplicationLibCode/Resources/DrawStyleMeshLines.svg b/ApplicationExeCode/Resources/DrawStyleMeshLines.svg similarity index 100% rename from ApplicationLibCode/Resources/DrawStyleMeshLines.svg rename to ApplicationExeCode/Resources/DrawStyleMeshLines.svg diff --git a/ApplicationLibCode/Resources/DrawStyleSurface.svg b/ApplicationExeCode/Resources/DrawStyleSurface.svg similarity index 100% rename from ApplicationLibCode/Resources/DrawStyleSurface.svg rename to ApplicationExeCode/Resources/DrawStyleSurface.svg diff --git a/ApplicationLibCode/Resources/EastView.svg b/ApplicationExeCode/Resources/EastView.svg similarity index 100% rename from ApplicationLibCode/Resources/EastView.svg rename to ApplicationExeCode/Resources/EastView.svg diff --git a/ApplicationLibCode/Resources/EastViewArrow.png b/ApplicationExeCode/Resources/EastViewArrow.png similarity index 100% rename from ApplicationLibCode/Resources/EastViewArrow.png rename to ApplicationExeCode/Resources/EastViewArrow.png diff --git a/ApplicationLibCode/Resources/EastViewArrow.xcf b/ApplicationExeCode/Resources/EastViewArrow.xcf similarity index 100% rename from ApplicationLibCode/Resources/EastViewArrow.xcf rename to ApplicationExeCode/Resources/EastViewArrow.xcf diff --git a/ApplicationLibCode/Resources/EclipseInput48x48.png b/ApplicationExeCode/Resources/EclipseInput48x48.png similarity index 100% rename from ApplicationLibCode/Resources/EclipseInput48x48.png rename to ApplicationExeCode/Resources/EclipseInput48x48.png diff --git a/ApplicationLibCode/Resources/EdgeResult_1.png b/ApplicationExeCode/Resources/EdgeResult_1.png similarity index 100% rename from ApplicationLibCode/Resources/EdgeResult_1.png rename to ApplicationExeCode/Resources/EdgeResult_1.png diff --git a/ApplicationLibCode/Resources/EditableWell.png b/ApplicationExeCode/Resources/EditableWell.png similarity index 100% rename from ApplicationLibCode/Resources/EditableWell.png rename to ApplicationExeCode/Resources/EditableWell.png diff --git a/ApplicationLibCode/Resources/EnsembleCurveSet16x16.png b/ApplicationExeCode/Resources/EnsembleCurveSet16x16.png similarity index 100% rename from ApplicationLibCode/Resources/EnsembleCurveSet16x16.png rename to ApplicationExeCode/Resources/EnsembleCurveSet16x16.png diff --git a/ApplicationLibCode/Resources/EnsembleCurveSet16x16.xcf b/ApplicationExeCode/Resources/EnsembleCurveSet16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/EnsembleCurveSet16x16.xcf rename to ApplicationExeCode/Resources/EnsembleCurveSet16x16.xcf diff --git a/ApplicationLibCode/Resources/EnsembleCurveSets16x16.png b/ApplicationExeCode/Resources/EnsembleCurveSets16x16.png similarity index 100% rename from ApplicationLibCode/Resources/EnsembleCurveSets16x16.png rename to ApplicationExeCode/Resources/EnsembleCurveSets16x16.png diff --git a/ApplicationLibCode/Resources/EnsembleCurveSets16x16.xcf b/ApplicationExeCode/Resources/EnsembleCurveSets16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/EnsembleCurveSets16x16.xcf rename to ApplicationExeCode/Resources/EnsembleCurveSets16x16.xcf diff --git a/ApplicationLibCode/Resources/Erase.png b/ApplicationExeCode/Resources/Erase.png similarity index 100% rename from ApplicationLibCode/Resources/Erase.png rename to ApplicationExeCode/Resources/Erase.png diff --git a/ApplicationLibCode/Resources/Erase.svg b/ApplicationExeCode/Resources/Erase.svg similarity index 100% rename from ApplicationLibCode/Resources/Erase.svg rename to ApplicationExeCode/Resources/Erase.svg diff --git a/ApplicationLibCode/Resources/Erase.xcf b/ApplicationExeCode/Resources/Erase.xcf similarity index 100% rename from ApplicationLibCode/Resources/Erase.xcf rename to ApplicationExeCode/Resources/Erase.xcf diff --git a/ApplicationLibCode/Resources/ExportCompletionsSymbol16x16.png b/ApplicationExeCode/Resources/ExportCompletionsSymbol16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ExportCompletionsSymbol16x16.png rename to ApplicationExeCode/Resources/ExportCompletionsSymbol16x16.png diff --git a/ApplicationLibCode/Resources/ExportCompletionsSymbol16x16.xcf b/ApplicationExeCode/Resources/ExportCompletionsSymbol16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ExportCompletionsSymbol16x16.xcf rename to ApplicationExeCode/Resources/ExportCompletionsSymbol16x16.xcf diff --git a/ApplicationLibCode/Resources/Filter.svg b/ApplicationExeCode/Resources/Filter.svg similarity index 100% rename from ApplicationLibCode/Resources/Filter.svg rename to ApplicationExeCode/Resources/Filter.svg diff --git a/ApplicationLibCode/Resources/FilterCollection.svg b/ApplicationExeCode/Resources/FilterCollection.svg similarity index 100% rename from ApplicationLibCode/Resources/FilterCollection.svg rename to ApplicationExeCode/Resources/FilterCollection.svg diff --git a/ApplicationLibCode/Resources/FilterFunction.svg b/ApplicationExeCode/Resources/FilterFunction.svg similarity index 100% rename from ApplicationLibCode/Resources/FilterFunction.svg rename to ApplicationExeCode/Resources/FilterFunction.svg diff --git a/ApplicationLibCode/Resources/FilterParameter.svg b/ApplicationExeCode/Resources/FilterParameter.svg similarity index 100% rename from ApplicationLibCode/Resources/FilterParameter.svg rename to ApplicationExeCode/Resources/FilterParameter.svg diff --git a/ApplicationLibCode/Resources/FishBoneGroup16x16.png b/ApplicationExeCode/Resources/FishBoneGroup16x16.png similarity index 100% rename from ApplicationLibCode/Resources/FishBoneGroup16x16.png rename to ApplicationExeCode/Resources/FishBoneGroup16x16.png diff --git a/ApplicationLibCode/Resources/FishBoneGroupFromFile16x16.png b/ApplicationExeCode/Resources/FishBoneGroupFromFile16x16.png similarity index 100% rename from ApplicationLibCode/Resources/FishBoneGroupFromFile16x16.png rename to ApplicationExeCode/Resources/FishBoneGroupFromFile16x16.png diff --git a/ApplicationLibCode/Resources/FishBoneGroupFromFile16x16.xcf b/ApplicationExeCode/Resources/FishBoneGroupFromFile16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/FishBoneGroupFromFile16x16.xcf rename to ApplicationExeCode/Resources/FishBoneGroupFromFile16x16.xcf diff --git a/ApplicationLibCode/Resources/FishBoneLateralFromFile16x16.png b/ApplicationExeCode/Resources/FishBoneLateralFromFile16x16.png similarity index 100% rename from ApplicationLibCode/Resources/FishBoneLateralFromFile16x16.png rename to ApplicationExeCode/Resources/FishBoneLateralFromFile16x16.png diff --git a/ApplicationLibCode/Resources/FishBoneLateralFromFile16x16.xcf b/ApplicationExeCode/Resources/FishBoneLateralFromFile16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/FishBoneLateralFromFile16x16.xcf rename to ApplicationExeCode/Resources/FishBoneLateralFromFile16x16.xcf diff --git a/ApplicationLibCode/Resources/FishBones16x16.png b/ApplicationExeCode/Resources/FishBones16x16.png similarity index 100% rename from ApplicationLibCode/Resources/FishBones16x16.png rename to ApplicationExeCode/Resources/FishBones16x16.png diff --git a/ApplicationLibCode/Resources/FishBones16x16.xcf b/ApplicationExeCode/Resources/FishBones16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/FishBones16x16.xcf rename to ApplicationExeCode/Resources/FishBones16x16.xcf diff --git a/ApplicationLibCode/Resources/FlowCharPlot16x16.png b/ApplicationExeCode/Resources/FlowCharPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/FlowCharPlot16x16.png rename to ApplicationExeCode/Resources/FlowCharPlot16x16.png diff --git a/ApplicationLibCode/Resources/FlowCharPlot16x16.xcf b/ApplicationExeCode/Resources/FlowCharPlot16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/FlowCharPlot16x16.xcf rename to ApplicationExeCode/Resources/FlowCharPlot16x16.xcf diff --git a/ApplicationLibCode/Resources/Folder.png b/ApplicationExeCode/Resources/Folder.png similarity index 100% rename from ApplicationLibCode/Resources/Folder.png rename to ApplicationExeCode/Resources/Folder.png diff --git a/ApplicationLibCode/Resources/FormationCollection16x16.png b/ApplicationExeCode/Resources/FormationCollection16x16.png similarity index 100% rename from ApplicationLibCode/Resources/FormationCollection16x16.png rename to ApplicationExeCode/Resources/FormationCollection16x16.png diff --git a/ApplicationLibCode/Resources/FormationCollection16x16.xcf b/ApplicationExeCode/Resources/FormationCollection16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/FormationCollection16x16.xcf rename to ApplicationExeCode/Resources/FormationCollection16x16.xcf diff --git a/ApplicationLibCode/Resources/Formations16x16.png b/ApplicationExeCode/Resources/Formations16x16.png similarity index 100% rename from ApplicationLibCode/Resources/Formations16x16.png rename to ApplicationExeCode/Resources/Formations16x16.png diff --git a/ApplicationLibCode/Resources/Formations16x16.xcf b/ApplicationExeCode/Resources/Formations16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/Formations16x16.xcf rename to ApplicationExeCode/Resources/Formations16x16.xcf diff --git a/ApplicationLibCode/Resources/FractureLayout16x16.png b/ApplicationExeCode/Resources/FractureLayout16x16.png similarity index 100% rename from ApplicationLibCode/Resources/FractureLayout16x16.png rename to ApplicationExeCode/Resources/FractureLayout16x16.png diff --git a/ApplicationLibCode/Resources/FractureLayout16x16.xcf b/ApplicationExeCode/Resources/FractureLayout16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/FractureLayout16x16.xcf rename to ApplicationExeCode/Resources/FractureLayout16x16.xcf diff --git a/ApplicationLibCode/Resources/FractureSymbol16x16.png b/ApplicationExeCode/Resources/FractureSymbol16x16.png similarity index 100% rename from ApplicationLibCode/Resources/FractureSymbol16x16.png rename to ApplicationExeCode/Resources/FractureSymbol16x16.png diff --git a/ApplicationLibCode/Resources/FractureSymbol16x16.xcf b/ApplicationExeCode/Resources/FractureSymbol16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/FractureSymbol16x16.xcf rename to ApplicationExeCode/Resources/FractureSymbol16x16.xcf diff --git a/ApplicationLibCode/Resources/FractureTemplate16x16.png b/ApplicationExeCode/Resources/FractureTemplate16x16.png similarity index 100% rename from ApplicationLibCode/Resources/FractureTemplate16x16.png rename to ApplicationExeCode/Resources/FractureTemplate16x16.png diff --git a/ApplicationLibCode/Resources/FractureTemplate16x16.xcf b/ApplicationExeCode/Resources/FractureTemplate16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/FractureTemplate16x16.xcf rename to ApplicationExeCode/Resources/FractureTemplate16x16.xcf diff --git a/ApplicationLibCode/Resources/FractureTemplates16x16.png b/ApplicationExeCode/Resources/FractureTemplates16x16.png similarity index 100% rename from ApplicationLibCode/Resources/FractureTemplates16x16.png rename to ApplicationExeCode/Resources/FractureTemplates16x16.png diff --git a/ApplicationLibCode/Resources/FractureTemplates16x16.xcf b/ApplicationExeCode/Resources/FractureTemplates16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/FractureTemplates16x16.xcf rename to ApplicationExeCode/Resources/FractureTemplates16x16.xcf diff --git a/ApplicationLibCode/Resources/GeoMechCase24x24.png b/ApplicationExeCode/Resources/GeoMechCase24x24.png similarity index 100% rename from ApplicationLibCode/Resources/GeoMechCase24x24.png rename to ApplicationExeCode/Resources/GeoMechCase24x24.png diff --git a/ApplicationLibCode/Resources/GeoMechCase48x48.png b/ApplicationExeCode/Resources/GeoMechCase48x48.png similarity index 100% rename from ApplicationLibCode/Resources/GeoMechCase48x48.png rename to ApplicationExeCode/Resources/GeoMechCase48x48.png diff --git a/ApplicationLibCode/Resources/GeoMechCase48x48.xcf b/ApplicationExeCode/Resources/GeoMechCase48x48.xcf similarity index 100% rename from ApplicationLibCode/Resources/GeoMechCase48x48.xcf rename to ApplicationExeCode/Resources/GeoMechCase48x48.xcf diff --git a/ApplicationLibCode/Resources/GeoMechCasePropTable24x24.png b/ApplicationExeCode/Resources/GeoMechCasePropTable24x24.png similarity index 100% rename from ApplicationLibCode/Resources/GeoMechCasePropTable24x24.png rename to ApplicationExeCode/Resources/GeoMechCasePropTable24x24.png diff --git a/ApplicationLibCode/Resources/GeoMechCaseTime24x24.png b/ApplicationExeCode/Resources/GeoMechCaseTime24x24.png similarity index 100% rename from ApplicationLibCode/Resources/GeoMechCaseTime24x24.png rename to ApplicationExeCode/Resources/GeoMechCaseTime24x24.png diff --git a/ApplicationLibCode/Resources/GeoMechCases48x48.png b/ApplicationExeCode/Resources/GeoMechCases48x48.png similarity index 100% rename from ApplicationLibCode/Resources/GeoMechCases48x48.png rename to ApplicationExeCode/Resources/GeoMechCases48x48.png diff --git a/ApplicationLibCode/Resources/GeoMechCases48x48.xcf b/ApplicationExeCode/Resources/GeoMechCases48x48.xcf similarity index 100% rename from ApplicationLibCode/Resources/GeoMechCases48x48.xcf rename to ApplicationExeCode/Resources/GeoMechCases48x48.xcf diff --git a/ApplicationLibCode/Resources/GridCaseGroup16x16.png b/ApplicationExeCode/Resources/GridCaseGroup16x16.png similarity index 100% rename from ApplicationLibCode/Resources/GridCaseGroup16x16.png rename to ApplicationExeCode/Resources/GridCaseGroup16x16.png diff --git a/ApplicationLibCode/Resources/GridCaseGroup16x16.xcf b/ApplicationExeCode/Resources/GridCaseGroup16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/GridCaseGroup16x16.xcf rename to ApplicationExeCode/Resources/GridCaseGroup16x16.xcf diff --git a/ApplicationLibCode/Resources/GridModels.png b/ApplicationExeCode/Resources/GridModels.png similarity index 100% rename from ApplicationLibCode/Resources/GridModels.png rename to ApplicationExeCode/Resources/GridModels.png diff --git a/ApplicationLibCode/Resources/Histogram16x16.png b/ApplicationExeCode/Resources/Histogram16x16.png similarity index 100% rename from ApplicationLibCode/Resources/Histogram16x16.png rename to ApplicationExeCode/Resources/Histogram16x16.png diff --git a/ApplicationLibCode/Resources/Histogram16x16.xcf b/ApplicationExeCode/Resources/Histogram16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/Histogram16x16.xcf rename to ApplicationExeCode/Resources/Histogram16x16.xcf diff --git a/ApplicationLibCode/Resources/Histograms16x16.png b/ApplicationExeCode/Resources/Histograms16x16.png similarity index 100% rename from ApplicationLibCode/Resources/Histograms16x16.png rename to ApplicationExeCode/Resources/Histograms16x16.png diff --git a/ApplicationLibCode/Resources/Histograms16x16.xcf b/ApplicationExeCode/Resources/Histograms16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/Histograms16x16.xcf rename to ApplicationExeCode/Resources/Histograms16x16.xcf diff --git a/ApplicationLibCode/Resources/HoloLensConnect24x24.png b/ApplicationExeCode/Resources/HoloLensConnect24x24.png similarity index 100% rename from ApplicationLibCode/Resources/HoloLensConnect24x24.png rename to ApplicationExeCode/Resources/HoloLensConnect24x24.png diff --git a/ApplicationLibCode/Resources/HoloLensDisconnect24x24.png b/ApplicationExeCode/Resources/HoloLensDisconnect24x24.png similarity index 100% rename from ApplicationLibCode/Resources/HoloLensDisconnect24x24.png rename to ApplicationExeCode/Resources/HoloLensDisconnect24x24.png diff --git a/ApplicationLibCode/Resources/HoloLensSendContinously24x24.png b/ApplicationExeCode/Resources/HoloLensSendContinously24x24.png similarity index 100% rename from ApplicationLibCode/Resources/HoloLensSendContinously24x24.png rename to ApplicationExeCode/Resources/HoloLensSendContinously24x24.png diff --git a/ApplicationLibCode/Resources/HoloLensSendOnce24x24.png b/ApplicationExeCode/Resources/HoloLensSendOnce24x24.png similarity index 100% rename from ApplicationLibCode/Resources/HoloLensSendOnce24x24.png rename to ApplicationExeCode/Resources/HoloLensSendOnce24x24.png diff --git a/ApplicationLibCode/Resources/ICDValve16x16.png b/ApplicationExeCode/Resources/ICDValve16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ICDValve16x16.png rename to ApplicationExeCode/Resources/ICDValve16x16.png diff --git a/ApplicationLibCode/Resources/ICDValve16x16.xcf b/ApplicationExeCode/Resources/ICDValve16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ICDValve16x16.xcf rename to ApplicationExeCode/Resources/ICDValve16x16.xcf diff --git a/ApplicationLibCode/Resources/ICVValve16x16.png b/ApplicationExeCode/Resources/ICVValve16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ICVValve16x16.png rename to ApplicationExeCode/Resources/ICVValve16x16.png diff --git a/ApplicationLibCode/Resources/ICVValve16x16.xcf b/ApplicationExeCode/Resources/ICVValve16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ICVValve16x16.xcf rename to ApplicationExeCode/Resources/ICVValve16x16.xcf diff --git a/ApplicationLibCode/Resources/InfoBox16x16.png b/ApplicationExeCode/Resources/InfoBox16x16.png similarity index 100% rename from ApplicationLibCode/Resources/InfoBox16x16.png rename to ApplicationExeCode/Resources/InfoBox16x16.png diff --git a/ApplicationLibCode/Resources/InterectionBox16x16.xcf b/ApplicationExeCode/Resources/InterectionBox16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/InterectionBox16x16.xcf rename to ApplicationExeCode/Resources/InterectionBox16x16.xcf diff --git a/ApplicationLibCode/Resources/InterectionXPlane16x16.xcf b/ApplicationExeCode/Resources/InterectionXPlane16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/InterectionXPlane16x16.xcf rename to ApplicationExeCode/Resources/InterectionXPlane16x16.xcf diff --git a/ApplicationLibCode/Resources/IntersectionBox16x16.png b/ApplicationExeCode/Resources/IntersectionBox16x16.png similarity index 100% rename from ApplicationLibCode/Resources/IntersectionBox16x16.png rename to ApplicationExeCode/Resources/IntersectionBox16x16.png diff --git a/ApplicationLibCode/Resources/IntersectionXPlane16x16.png b/ApplicationExeCode/Resources/IntersectionXPlane16x16.png similarity index 100% rename from ApplicationLibCode/Resources/IntersectionXPlane16x16.png rename to ApplicationExeCode/Resources/IntersectionXPlane16x16.png diff --git a/ApplicationLibCode/Resources/IntersectionYPlane16x16.png b/ApplicationExeCode/Resources/IntersectionYPlane16x16.png similarity index 100% rename from ApplicationLibCode/Resources/IntersectionYPlane16x16.png rename to ApplicationExeCode/Resources/IntersectionYPlane16x16.png diff --git a/ApplicationLibCode/Resources/IntersectionZPlane16x16.png b/ApplicationExeCode/Resources/IntersectionZPlane16x16.png similarity index 100% rename from ApplicationLibCode/Resources/IntersectionZPlane16x16.png rename to ApplicationExeCode/Resources/IntersectionZPlane16x16.png diff --git a/ApplicationLibCode/Resources/LGR16x16.png b/ApplicationExeCode/Resources/LGR16x16.png similarity index 100% rename from ApplicationLibCode/Resources/LGR16x16.png rename to ApplicationExeCode/Resources/LGR16x16.png diff --git a/ApplicationLibCode/Resources/LGR16x16.xcf b/ApplicationExeCode/Resources/LGR16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/LGR16x16.xcf rename to ApplicationExeCode/Resources/LGR16x16.xcf diff --git a/ApplicationLibCode/Resources/LasFile16x16.png b/ApplicationExeCode/Resources/LasFile16x16.png similarity index 100% rename from ApplicationLibCode/Resources/LasFile16x16.png rename to ApplicationExeCode/Resources/LasFile16x16.png diff --git a/ApplicationLibCode/Resources/LasFile16x16.xcf b/ApplicationExeCode/Resources/LasFile16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/LasFile16x16.xcf rename to ApplicationExeCode/Resources/LasFile16x16.xcf diff --git a/ApplicationLibCode/Resources/LeftAxis16x16.png b/ApplicationExeCode/Resources/LeftAxis16x16.png similarity index 100% rename from ApplicationLibCode/Resources/LeftAxis16x16.png rename to ApplicationExeCode/Resources/LeftAxis16x16.png diff --git a/ApplicationLibCode/Resources/Legend.png b/ApplicationExeCode/Resources/Legend.png similarity index 100% rename from ApplicationLibCode/Resources/Legend.png rename to ApplicationExeCode/Resources/Legend.png diff --git a/ApplicationLibCode/Resources/LinkView.svg b/ApplicationExeCode/Resources/LinkView.svg similarity index 100% rename from ApplicationLibCode/Resources/LinkView.svg rename to ApplicationExeCode/Resources/LinkView.svg diff --git a/ApplicationLibCode/Resources/LinkView16x16.png b/ApplicationExeCode/Resources/LinkView16x16.png similarity index 100% rename from ApplicationLibCode/Resources/LinkView16x16.png rename to ApplicationExeCode/Resources/LinkView16x16.png diff --git a/ApplicationLibCode/Resources/LinkView16x16.xcf b/ApplicationExeCode/Resources/LinkView16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/LinkView16x16.xcf rename to ApplicationExeCode/Resources/LinkView16x16.xcf diff --git a/ApplicationLibCode/Resources/LinkView24x24.png b/ApplicationExeCode/Resources/LinkView24x24.png similarity index 100% rename from ApplicationLibCode/Resources/LinkView24x24.png rename to ApplicationExeCode/Resources/LinkView24x24.png diff --git a/ApplicationLibCode/Resources/LinkView24x24.xcf b/ApplicationExeCode/Resources/LinkView24x24.xcf similarity index 100% rename from ApplicationLibCode/Resources/LinkView24x24.xcf rename to ApplicationExeCode/Resources/LinkView24x24.xcf diff --git a/ApplicationLibCode/Resources/MainGrid16x16.png b/ApplicationExeCode/Resources/MainGrid16x16.png similarity index 100% rename from ApplicationLibCode/Resources/MainGrid16x16.png rename to ApplicationExeCode/Resources/MainGrid16x16.png diff --git a/ApplicationLibCode/Resources/MainGrid16x16.xcf b/ApplicationExeCode/Resources/MainGrid16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/MainGrid16x16.xcf rename to ApplicationExeCode/Resources/MainGrid16x16.xcf diff --git a/ApplicationLibCode/Resources/MasterView16x16.png b/ApplicationExeCode/Resources/MasterView16x16.png similarity index 100% rename from ApplicationLibCode/Resources/MasterView16x16.png rename to ApplicationExeCode/Resources/MasterView16x16.png diff --git a/ApplicationLibCode/Resources/Minus.png b/ApplicationExeCode/Resources/Minus.png similarity index 100% rename from ApplicationLibCode/Resources/Minus.png rename to ApplicationExeCode/Resources/Minus.png diff --git a/ApplicationLibCode/Resources/MultiPlot16x16.png b/ApplicationExeCode/Resources/MultiPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/MultiPlot16x16.png rename to ApplicationExeCode/Resources/MultiPlot16x16.png diff --git a/ApplicationLibCode/Resources/MultiPlot16x16.xcf b/ApplicationExeCode/Resources/MultiPlot16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/MultiPlot16x16.xcf rename to ApplicationExeCode/Resources/MultiPlot16x16.xcf diff --git a/ApplicationLibCode/Resources/NorthView.svg b/ApplicationExeCode/Resources/NorthView.svg similarity index 100% rename from ApplicationLibCode/Resources/NorthView.svg rename to ApplicationExeCode/Resources/NorthView.svg diff --git a/ApplicationLibCode/Resources/NorthViewArrow.png b/ApplicationExeCode/Resources/NorthViewArrow.png similarity index 100% rename from ApplicationLibCode/Resources/NorthViewArrow.png rename to ApplicationExeCode/Resources/NorthViewArrow.png diff --git a/ApplicationLibCode/Resources/NorthViewArrow.xcf b/ApplicationExeCode/Resources/NorthViewArrow.xcf similarity index 100% rename from ApplicationLibCode/Resources/NorthViewArrow.xcf rename to ApplicationExeCode/Resources/NorthViewArrow.xcf diff --git a/ApplicationLibCode/Resources/ObjectiveFunction.svg b/ApplicationExeCode/Resources/ObjectiveFunction.svg similarity index 100% rename from ApplicationLibCode/Resources/ObjectiveFunction.svg rename to ApplicationExeCode/Resources/ObjectiveFunction.svg diff --git a/ApplicationLibCode/Resources/ObjectiveFunctionCollection.svg b/ApplicationExeCode/Resources/ObjectiveFunctionCollection.svg similarity index 100% rename from ApplicationLibCode/Resources/ObjectiveFunctionCollection.svg rename to ApplicationExeCode/Resources/ObjectiveFunctionCollection.svg diff --git a/ApplicationLibCode/Resources/ObjectiveFunctionWeight.svg b/ApplicationExeCode/Resources/ObjectiveFunctionWeight.svg similarity index 100% rename from ApplicationLibCode/Resources/ObjectiveFunctionWeight.svg rename to ApplicationExeCode/Resources/ObjectiveFunctionWeight.svg diff --git a/ApplicationLibCode/Resources/ObservedCSVDataFile16x16.png b/ApplicationExeCode/Resources/ObservedCSVDataFile16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ObservedCSVDataFile16x16.png rename to ApplicationExeCode/Resources/ObservedCSVDataFile16x16.png diff --git a/ApplicationLibCode/Resources/ObservedDataFile16x16.png b/ApplicationExeCode/Resources/ObservedDataFile16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ObservedDataFile16x16.png rename to ApplicationExeCode/Resources/ObservedDataFile16x16.png diff --git a/ApplicationLibCode/Resources/ObservedDataFile16x16.xcf b/ApplicationExeCode/Resources/ObservedDataFile16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ObservedDataFile16x16.xcf rename to ApplicationExeCode/Resources/ObservedDataFile16x16.xcf diff --git a/ApplicationLibCode/Resources/ObservedRFTDataFile16x16.png b/ApplicationExeCode/Resources/ObservedRFTDataFile16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ObservedRFTDataFile16x16.png rename to ApplicationExeCode/Resources/ObservedRFTDataFile16x16.png diff --git a/ApplicationLibCode/Resources/ObservedRSMDataFile16x16.png b/ApplicationExeCode/Resources/ObservedRSMDataFile16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ObservedRSMDataFile16x16.png rename to ApplicationExeCode/Resources/ObservedRSMDataFile16x16.png diff --git a/ApplicationLibCode/Resources/Octave16x6.xcf b/ApplicationExeCode/Resources/Octave16x6.xcf similarity index 100% rename from ApplicationLibCode/Resources/Octave16x6.xcf rename to ApplicationExeCode/Resources/Octave16x6.xcf diff --git a/ApplicationLibCode/Resources/OctaveScriptFile16x16.png b/ApplicationExeCode/Resources/OctaveScriptFile16x16.png similarity index 100% rename from ApplicationLibCode/Resources/OctaveScriptFile16x16.png rename to ApplicationExeCode/Resources/OctaveScriptFile16x16.png diff --git a/ApplicationLibCode/Resources/OpenFolder.svg b/ApplicationExeCode/Resources/OpenFolder.svg similarity index 100% rename from ApplicationLibCode/Resources/OpenFolder.svg rename to ApplicationExeCode/Resources/OpenFolder.svg diff --git a/ApplicationLibCode/Resources/PagePreview16x16.png b/ApplicationExeCode/Resources/PagePreview16x16.png similarity index 100% rename from ApplicationLibCode/Resources/PagePreview16x16.png rename to ApplicationExeCode/Resources/PagePreview16x16.png diff --git a/ApplicationLibCode/Resources/Parallel.svg b/ApplicationExeCode/Resources/Parallel.svg similarity index 100% rename from ApplicationLibCode/Resources/Parallel.svg rename to ApplicationExeCode/Resources/Parallel.svg diff --git a/ApplicationLibCode/Resources/Parallel24x24.png b/ApplicationExeCode/Resources/Parallel24x24.png similarity index 100% rename from ApplicationLibCode/Resources/Parallel24x24.png rename to ApplicationExeCode/Resources/Parallel24x24.png diff --git a/ApplicationLibCode/Resources/Parallel24x24.xcf b/ApplicationExeCode/Resources/Parallel24x24.xcf similarity index 100% rename from ApplicationLibCode/Resources/Parallel24x24.xcf rename to ApplicationExeCode/Resources/Parallel24x24.xcf diff --git a/ApplicationLibCode/Resources/PdfSave.png b/ApplicationExeCode/Resources/PdfSave.png similarity index 100% rename from ApplicationLibCode/Resources/PdfSave.png rename to ApplicationExeCode/Resources/PdfSave.png diff --git a/ApplicationLibCode/Resources/PdfSave.svg b/ApplicationExeCode/Resources/PdfSave.svg similarity index 100% rename from ApplicationLibCode/Resources/PdfSave.svg rename to ApplicationExeCode/Resources/PdfSave.svg diff --git a/ApplicationLibCode/Resources/PdfSave.xcf b/ApplicationExeCode/Resources/PdfSave.xcf similarity index 100% rename from ApplicationLibCode/Resources/PdfSave.xcf rename to ApplicationExeCode/Resources/PdfSave.xcf diff --git a/ApplicationLibCode/Resources/PerforationInterval16x16.png b/ApplicationExeCode/Resources/PerforationInterval16x16.png similarity index 100% rename from ApplicationLibCode/Resources/PerforationInterval16x16.png rename to ApplicationExeCode/Resources/PerforationInterval16x16.png diff --git a/ApplicationLibCode/Resources/PerforationIntervals16x16.png b/ApplicationExeCode/Resources/PerforationIntervals16x16.png similarity index 100% rename from ApplicationLibCode/Resources/PerforationIntervals16x16.png rename to ApplicationExeCode/Resources/PerforationIntervals16x16.png diff --git a/ApplicationLibCode/Resources/PerforationIntervals16x16.xcf b/ApplicationExeCode/Resources/PerforationIntervals16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/PerforationIntervals16x16.xcf rename to ApplicationExeCode/Resources/PerforationIntervals16x16.xcf diff --git a/ApplicationLibCode/Resources/Perspective.svg b/ApplicationExeCode/Resources/Perspective.svg similarity index 100% rename from ApplicationLibCode/Resources/Perspective.svg rename to ApplicationExeCode/Resources/Perspective.svg diff --git a/ApplicationLibCode/Resources/Perspective24x24.png b/ApplicationExeCode/Resources/Perspective24x24.png similarity index 100% rename from ApplicationLibCode/Resources/Perspective24x24.png rename to ApplicationExeCode/Resources/Perspective24x24.png diff --git a/ApplicationLibCode/Resources/Perspective24x24.xcf b/ApplicationExeCode/Resources/Perspective24x24.xcf similarity index 100% rename from ApplicationLibCode/Resources/Perspective24x24.xcf rename to ApplicationExeCode/Resources/Perspective24x24.xcf diff --git a/ApplicationLibCode/Resources/PlotWindow.svg b/ApplicationExeCode/Resources/PlotWindow.svg similarity index 100% rename from ApplicationLibCode/Resources/PlotWindow.svg rename to ApplicationExeCode/Resources/PlotWindow.svg diff --git a/ApplicationLibCode/Resources/PlotWindow24x24.png b/ApplicationExeCode/Resources/PlotWindow24x24.png similarity index 100% rename from ApplicationLibCode/Resources/PlotWindow24x24.png rename to ApplicationExeCode/Resources/PlotWindow24x24.png diff --git a/ApplicationLibCode/Resources/PlotWindow24x24.xcf b/ApplicationExeCode/Resources/PlotWindow24x24.xcf similarity index 100% rename from ApplicationLibCode/Resources/PlotWindow24x24.xcf rename to ApplicationExeCode/Resources/PlotWindow24x24.xcf diff --git a/ApplicationLibCode/Resources/Plus.png b/ApplicationExeCode/Resources/Plus.png similarity index 100% rename from ApplicationLibCode/Resources/Plus.png rename to ApplicationExeCode/Resources/Plus.png diff --git a/ApplicationLibCode/Resources/Plus.xcf b/ApplicationExeCode/Resources/Plus.xcf similarity index 100% rename from ApplicationLibCode/Resources/Plus.xcf rename to ApplicationExeCode/Resources/Plus.xcf diff --git a/ApplicationLibCode/Resources/PolylinesFromFile16x16.png b/ApplicationExeCode/Resources/PolylinesFromFile16x16.png similarity index 100% rename from ApplicationLibCode/Resources/PolylinesFromFile16x16.png rename to ApplicationExeCode/Resources/PolylinesFromFile16x16.png diff --git a/ApplicationLibCode/Resources/PythonScriptFile16x16.png b/ApplicationExeCode/Resources/PythonScriptFile16x16.png similarity index 100% rename from ApplicationLibCode/Resources/PythonScriptFile16x16.png rename to ApplicationExeCode/Resources/PythonScriptFile16x16.png diff --git a/ApplicationLibCode/Resources/RFTPlot16x16.png b/ApplicationExeCode/Resources/RFTPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/RFTPlot16x16.png rename to ApplicationExeCode/Resources/RFTPlot16x16.png diff --git a/ApplicationLibCode/Resources/RFTPlot16x16.xcf b/ApplicationExeCode/Resources/RFTPlot16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/RFTPlot16x16.xcf rename to ApplicationExeCode/Resources/RFTPlot16x16.xcf diff --git a/ApplicationLibCode/Resources/RFTPlots16x16.png b/ApplicationExeCode/Resources/RFTPlots16x16.png similarity index 100% rename from ApplicationLibCode/Resources/RFTPlots16x16.png rename to ApplicationExeCode/Resources/RFTPlots16x16.png diff --git a/ApplicationLibCode/Resources/RFTPlots16x16.xcf b/ApplicationExeCode/Resources/RFTPlots16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/RFTPlots16x16.xcf rename to ApplicationExeCode/Resources/RFTPlots16x16.xcf diff --git a/ApplicationLibCode/Resources/ReachCircle16x16.png b/ApplicationExeCode/Resources/ReachCircle16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ReachCircle16x16.png rename to ApplicationExeCode/Resources/ReachCircle16x16.png diff --git a/ApplicationLibCode/Resources/Refresh-32.png b/ApplicationExeCode/Resources/Refresh-32.png similarity index 100% rename from ApplicationLibCode/Resources/Refresh-32.png rename to ApplicationExeCode/Resources/Refresh-32.png diff --git a/ApplicationLibCode/Resources/Refresh.svg b/ApplicationExeCode/Resources/Refresh.svg similarity index 100% rename from ApplicationLibCode/Resources/Refresh.svg rename to ApplicationExeCode/Resources/Refresh.svg diff --git a/ApplicationLibCode/Resources/RemoveComparisonView16x16.png b/ApplicationExeCode/Resources/RemoveComparisonView16x16.png similarity index 100% rename from ApplicationLibCode/Resources/RemoveComparisonView16x16.png rename to ApplicationExeCode/Resources/RemoveComparisonView16x16.png diff --git a/ApplicationLibCode/Resources/ReplaceCase16x16.png b/ApplicationExeCode/Resources/ReplaceCase16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ReplaceCase16x16.png rename to ApplicationExeCode/Resources/ReplaceCase16x16.png diff --git a/ApplicationLibCode/Resources/ReplaceCase16x16.xcf b/ApplicationExeCode/Resources/ReplaceCase16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ReplaceCase16x16.xcf rename to ApplicationExeCode/Resources/ReplaceCase16x16.xcf diff --git a/ApplicationLibCode/Resources/ResInsight.qrc b/ApplicationExeCode/Resources/ResInsight.qrc similarity index 100% rename from ApplicationLibCode/Resources/ResInsight.qrc rename to ApplicationExeCode/Resources/ResInsight.qrc diff --git a/ApplicationLibCode/Resources/ResInsight.rc b/ApplicationExeCode/Resources/ResInsight.rc similarity index 100% rename from ApplicationLibCode/Resources/ResInsight.rc rename to ApplicationExeCode/Resources/ResInsight.rc diff --git a/ApplicationLibCode/Resources/ReservoirSurface16x16.png b/ApplicationExeCode/Resources/ReservoirSurface16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ReservoirSurface16x16.png rename to ApplicationExeCode/Resources/ReservoirSurface16x16.png diff --git a/ApplicationLibCode/Resources/ReservoirSurface16x16.xcf b/ApplicationExeCode/Resources/ReservoirSurface16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ReservoirSurface16x16.xcf rename to ApplicationExeCode/Resources/ReservoirSurface16x16.xcf diff --git a/ApplicationLibCode/Resources/ReservoirSurfaces16x16.png b/ApplicationExeCode/Resources/ReservoirSurfaces16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ReservoirSurfaces16x16.png rename to ApplicationExeCode/Resources/ReservoirSurfaces16x16.png diff --git a/ApplicationLibCode/Resources/ReservoirSurfaces16x16.xcf b/ApplicationExeCode/Resources/ReservoirSurfaces16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ReservoirSurfaces16x16.xcf rename to ApplicationExeCode/Resources/ReservoirSurfaces16x16.xcf diff --git a/ApplicationLibCode/Resources/RightAxis16x16.png b/ApplicationExeCode/Resources/RightAxis16x16.png similarity index 100% rename from ApplicationLibCode/Resources/RightAxis16x16.png rename to ApplicationExeCode/Resources/RightAxis16x16.png diff --git a/ApplicationLibCode/Resources/Rows1.png b/ApplicationExeCode/Resources/Rows1.png similarity index 100% rename from ApplicationLibCode/Resources/Rows1.png rename to ApplicationExeCode/Resources/Rows1.png diff --git a/ApplicationLibCode/Resources/Rows2.png b/ApplicationExeCode/Resources/Rows2.png similarity index 100% rename from ApplicationLibCode/Resources/Rows2.png rename to ApplicationExeCode/Resources/Rows2.png diff --git a/ApplicationLibCode/Resources/Rows3.png b/ApplicationExeCode/Resources/Rows3.png similarity index 100% rename from ApplicationLibCode/Resources/Rows3.png rename to ApplicationExeCode/Resources/Rows3.png diff --git a/ApplicationLibCode/Resources/Rows4.png b/ApplicationExeCode/Resources/Rows4.png similarity index 100% rename from ApplicationLibCode/Resources/Rows4.png rename to ApplicationExeCode/Resources/Rows4.png diff --git a/ApplicationLibCode/Resources/Ruler.svg b/ApplicationExeCode/Resources/Ruler.svg similarity index 100% rename from ApplicationLibCode/Resources/Ruler.svg rename to ApplicationExeCode/Resources/Ruler.svg diff --git a/ApplicationLibCode/Resources/Ruler24x24.png b/ApplicationExeCode/Resources/Ruler24x24.png similarity index 100% rename from ApplicationLibCode/Resources/Ruler24x24.png rename to ApplicationExeCode/Resources/Ruler24x24.png diff --git a/ApplicationLibCode/Resources/Ruler24x24.xcf b/ApplicationExeCode/Resources/Ruler24x24.xcf similarity index 100% rename from ApplicationLibCode/Resources/Ruler24x24.xcf rename to ApplicationExeCode/Resources/Ruler24x24.xcf diff --git a/ApplicationLibCode/Resources/RulerPoly.svg b/ApplicationExeCode/Resources/RulerPoly.svg similarity index 100% rename from ApplicationLibCode/Resources/RulerPoly.svg rename to ApplicationExeCode/Resources/RulerPoly.svg diff --git a/ApplicationLibCode/Resources/RulerPoly24x24.png b/ApplicationExeCode/Resources/RulerPoly24x24.png similarity index 100% rename from ApplicationLibCode/Resources/RulerPoly24x24.png rename to ApplicationExeCode/Resources/RulerPoly24x24.png diff --git a/ApplicationLibCode/Resources/Save.svg b/ApplicationExeCode/Resources/Save.svg similarity index 100% rename from ApplicationLibCode/Resources/Save.svg rename to ApplicationExeCode/Resources/Save.svg diff --git a/ApplicationLibCode/Resources/SaveAs.svg b/ApplicationExeCode/Resources/SaveAs.svg similarity index 100% rename from ApplicationLibCode/Resources/SaveAs.svg rename to ApplicationExeCode/Resources/SaveAs.svg diff --git a/ApplicationLibCode/Resources/SkipToEnd.svg b/ApplicationExeCode/Resources/SkipToEnd.svg similarity index 100% rename from ApplicationLibCode/Resources/SkipToEnd.svg rename to ApplicationExeCode/Resources/SkipToEnd.svg diff --git a/ApplicationLibCode/Resources/SkipToStart.svg b/ApplicationExeCode/Resources/SkipToStart.svg similarity index 100% rename from ApplicationLibCode/Resources/SkipToStart.svg rename to ApplicationExeCode/Resources/SkipToStart.svg diff --git a/ApplicationLibCode/Resources/SnapShot.svg b/ApplicationExeCode/Resources/SnapShot.svg similarity index 100% rename from ApplicationLibCode/Resources/SnapShot.svg rename to ApplicationExeCode/Resources/SnapShot.svg diff --git a/ApplicationLibCode/Resources/SnapShotSave.png b/ApplicationExeCode/Resources/SnapShotSave.png similarity index 100% rename from ApplicationLibCode/Resources/SnapShotSave.png rename to ApplicationExeCode/Resources/SnapShotSave.png diff --git a/ApplicationLibCode/Resources/SnapShotSave.svg b/ApplicationExeCode/Resources/SnapShotSave.svg similarity index 100% rename from ApplicationLibCode/Resources/SnapShotSave.svg rename to ApplicationExeCode/Resources/SnapShotSave.svg diff --git a/ApplicationLibCode/Resources/SnapShotSaveViews.png b/ApplicationExeCode/Resources/SnapShotSaveViews.png similarity index 100% rename from ApplicationLibCode/Resources/SnapShotSaveViews.png rename to ApplicationExeCode/Resources/SnapShotSaveViews.png diff --git a/ApplicationLibCode/Resources/SnapShotSaveViews.svg b/ApplicationExeCode/Resources/SnapShotSaveViews.svg similarity index 100% rename from ApplicationLibCode/Resources/SnapShotSaveViews.svg rename to ApplicationExeCode/Resources/SnapShotSaveViews.svg diff --git a/ApplicationLibCode/Resources/SnapShotSaveViews.xcf b/ApplicationExeCode/Resources/SnapShotSaveViews.xcf similarity index 100% rename from ApplicationLibCode/Resources/SnapShotSaveViews.xcf rename to ApplicationExeCode/Resources/SnapShotSaveViews.xcf diff --git a/ApplicationLibCode/Resources/SouthView.svg b/ApplicationExeCode/Resources/SouthView.svg similarity index 100% rename from ApplicationLibCode/Resources/SouthView.svg rename to ApplicationExeCode/Resources/SouthView.svg diff --git a/ApplicationLibCode/Resources/SouthViewArrow.png b/ApplicationExeCode/Resources/SouthViewArrow.png similarity index 100% rename from ApplicationLibCode/Resources/SouthViewArrow.png rename to ApplicationExeCode/Resources/SouthViewArrow.png diff --git a/ApplicationLibCode/Resources/SouthViewArrow.xcf b/ApplicationExeCode/Resources/SouthViewArrow.xcf similarity index 100% rename from ApplicationLibCode/Resources/SouthViewArrow.xcf rename to ApplicationExeCode/Resources/SouthViewArrow.xcf diff --git a/ApplicationLibCode/Resources/SplitterH.png b/ApplicationExeCode/Resources/SplitterH.png similarity index 100% rename from ApplicationLibCode/Resources/SplitterH.png rename to ApplicationExeCode/Resources/SplitterH.png diff --git a/ApplicationLibCode/Resources/SplitterV.png b/ApplicationExeCode/Resources/SplitterV.png similarity index 100% rename from ApplicationLibCode/Resources/SplitterV.png rename to ApplicationExeCode/Resources/SplitterV.png diff --git a/ApplicationLibCode/Resources/StepUpDown.xcf b/ApplicationExeCode/Resources/StepUpDown.xcf similarity index 100% rename from ApplicationLibCode/Resources/StepUpDown.xcf rename to ApplicationExeCode/Resources/StepUpDown.xcf diff --git a/ApplicationLibCode/Resources/StepUpDown16x16.png b/ApplicationExeCode/Resources/StepUpDown16x16.png similarity index 100% rename from ApplicationLibCode/Resources/StepUpDown16x16.png rename to ApplicationExeCode/Resources/StepUpDown16x16.png diff --git a/ApplicationLibCode/Resources/StepUpDownCorner16x16.png b/ApplicationExeCode/Resources/StepUpDownCorner16x16.png similarity index 100% rename from ApplicationLibCode/Resources/StepUpDownCorner16x16.png rename to ApplicationExeCode/Resources/StepUpDownCorner16x16.png diff --git a/ApplicationLibCode/Resources/StepUpDownCorner16x16.xcf b/ApplicationExeCode/Resources/StepUpDownCorner16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/StepUpDownCorner16x16.xcf rename to ApplicationExeCode/Resources/StepUpDownCorner16x16.xcf diff --git a/ApplicationLibCode/Resources/SummaryCase.svg b/ApplicationExeCode/Resources/SummaryCase.svg similarity index 100% rename from ApplicationLibCode/Resources/SummaryCase.svg rename to ApplicationExeCode/Resources/SummaryCase.svg diff --git a/ApplicationLibCode/Resources/SummaryCase16x16.png b/ApplicationExeCode/Resources/SummaryCase16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryCase16x16.png rename to ApplicationExeCode/Resources/SummaryCase16x16.png diff --git a/ApplicationLibCode/Resources/SummaryCase16x16.xcf b/ApplicationExeCode/Resources/SummaryCase16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/SummaryCase16x16.xcf rename to ApplicationExeCode/Resources/SummaryCase16x16.xcf diff --git a/ApplicationLibCode/Resources/SummaryCase24x24.png b/ApplicationExeCode/Resources/SummaryCase24x24.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryCase24x24.png rename to ApplicationExeCode/Resources/SummaryCase24x24.png diff --git a/ApplicationLibCode/Resources/SummaryCase48x48.png b/ApplicationExeCode/Resources/SummaryCase48x48.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryCase48x48.png rename to ApplicationExeCode/Resources/SummaryCase48x48.png diff --git a/ApplicationLibCode/Resources/SummaryCase48x48.xcf b/ApplicationExeCode/Resources/SummaryCase48x48.xcf similarity index 100% rename from ApplicationLibCode/Resources/SummaryCase48x48.xcf rename to ApplicationExeCode/Resources/SummaryCase48x48.xcf diff --git a/ApplicationLibCode/Resources/SummaryCases16x16.png b/ApplicationExeCode/Resources/SummaryCases16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryCases16x16.png rename to ApplicationExeCode/Resources/SummaryCases16x16.png diff --git a/ApplicationLibCode/Resources/SummaryCases16x16.xcf b/ApplicationExeCode/Resources/SummaryCases16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/SummaryCases16x16.xcf rename to ApplicationExeCode/Resources/SummaryCases16x16.xcf diff --git a/ApplicationLibCode/Resources/SummaryCurve16x16.png b/ApplicationExeCode/Resources/SummaryCurve16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryCurve16x16.png rename to ApplicationExeCode/Resources/SummaryCurve16x16.png diff --git a/ApplicationLibCode/Resources/SummaryCurve16x16.xcf b/ApplicationExeCode/Resources/SummaryCurve16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/SummaryCurve16x16.xcf rename to ApplicationExeCode/Resources/SummaryCurve16x16.xcf diff --git a/ApplicationLibCode/Resources/SummaryCurveFilter16x16.png b/ApplicationExeCode/Resources/SummaryCurveFilter16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryCurveFilter16x16.png rename to ApplicationExeCode/Resources/SummaryCurveFilter16x16.png diff --git a/ApplicationLibCode/Resources/SummaryCurveFilter16x16.xcf b/ApplicationExeCode/Resources/SummaryCurveFilter16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/SummaryCurveFilter16x16.xcf rename to ApplicationExeCode/Resources/SummaryCurveFilter16x16.xcf diff --git a/ApplicationLibCode/Resources/SummaryEnsemble.svg b/ApplicationExeCode/Resources/SummaryEnsemble.svg similarity index 100% rename from ApplicationLibCode/Resources/SummaryEnsemble.svg rename to ApplicationExeCode/Resources/SummaryEnsemble.svg diff --git a/ApplicationLibCode/Resources/SummaryEnsemble16x16.png b/ApplicationExeCode/Resources/SummaryEnsemble16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryEnsemble16x16.png rename to ApplicationExeCode/Resources/SummaryEnsemble16x16.png diff --git a/ApplicationLibCode/Resources/SummaryEnsemble16x16.xcf b/ApplicationExeCode/Resources/SummaryEnsemble16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/SummaryEnsemble16x16.xcf rename to ApplicationExeCode/Resources/SummaryEnsemble16x16.xcf diff --git a/ApplicationLibCode/Resources/SummaryEnsemble24x24.png b/ApplicationExeCode/Resources/SummaryEnsemble24x24.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryEnsemble24x24.png rename to ApplicationExeCode/Resources/SummaryEnsemble24x24.png diff --git a/ApplicationLibCode/Resources/SummaryGroup16x16.png b/ApplicationExeCode/Resources/SummaryGroup16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryGroup16x16.png rename to ApplicationExeCode/Resources/SummaryGroup16x16.png diff --git a/ApplicationLibCode/Resources/SummaryPlotLight16x16.png b/ApplicationExeCode/Resources/SummaryPlotLight16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryPlotLight16x16.png rename to ApplicationExeCode/Resources/SummaryPlotLight16x16.png diff --git a/ApplicationLibCode/Resources/SummaryPlotLight16x16.xcf b/ApplicationExeCode/Resources/SummaryPlotLight16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/SummaryPlotLight16x16.xcf rename to ApplicationExeCode/Resources/SummaryPlotLight16x16.xcf diff --git a/ApplicationLibCode/Resources/SummaryPlots16x16.png b/ApplicationExeCode/Resources/SummaryPlots16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryPlots16x16.png rename to ApplicationExeCode/Resources/SummaryPlots16x16.png diff --git a/ApplicationLibCode/Resources/SummaryPlots16x16.xcf b/ApplicationExeCode/Resources/SummaryPlots16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/SummaryPlots16x16.xcf rename to ApplicationExeCode/Resources/SummaryPlots16x16.xcf diff --git a/ApplicationLibCode/Resources/SummaryPlotsLight16x16.png b/ApplicationExeCode/Resources/SummaryPlotsLight16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryPlotsLight16x16.png rename to ApplicationExeCode/Resources/SummaryPlotsLight16x16.png diff --git a/ApplicationLibCode/Resources/SummaryPlotsLight16x16.xcf b/ApplicationExeCode/Resources/SummaryPlotsLight16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/SummaryPlotsLight16x16.xcf rename to ApplicationExeCode/Resources/SummaryPlotsLight16x16.xcf diff --git a/ApplicationLibCode/Resources/SummaryTemplate16x16.png b/ApplicationExeCode/Resources/SummaryTemplate16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryTemplate16x16.png rename to ApplicationExeCode/Resources/SummaryTemplate16x16.png diff --git a/ApplicationLibCode/Resources/SummaryXPlotLight16x16.png b/ApplicationExeCode/Resources/SummaryXPlotLight16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryXPlotLight16x16.png rename to ApplicationExeCode/Resources/SummaryXPlotLight16x16.png diff --git a/ApplicationLibCode/Resources/SummaryXPlotLight16x16.xcf b/ApplicationExeCode/Resources/SummaryXPlotLight16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/SummaryXPlotLight16x16.xcf rename to ApplicationExeCode/Resources/SummaryXPlotLight16x16.xcf diff --git a/ApplicationLibCode/Resources/SummaryXPlotsLight16x16.png b/ApplicationExeCode/Resources/SummaryXPlotsLight16x16.png similarity index 100% rename from ApplicationLibCode/Resources/SummaryXPlotsLight16x16.png rename to ApplicationExeCode/Resources/SummaryXPlotsLight16x16.png diff --git a/ApplicationLibCode/Resources/SummaryXPlotsLight16x16.xcf b/ApplicationExeCode/Resources/SummaryXPlotsLight16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/SummaryXPlotsLight16x16.xcf rename to ApplicationExeCode/Resources/SummaryXPlotsLight16x16.xcf diff --git a/ApplicationLibCode/Resources/Swap.png b/ApplicationExeCode/Resources/Swap.png similarity index 100% rename from ApplicationLibCode/Resources/Swap.png rename to ApplicationExeCode/Resources/Swap.png diff --git a/ApplicationLibCode/Resources/TOFAccSatPlot16x16.png b/ApplicationExeCode/Resources/TOFAccSatPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/TOFAccSatPlot16x16.png rename to ApplicationExeCode/Resources/TOFAccSatPlot16x16.png diff --git a/ApplicationLibCode/Resources/TOFAccSatPlot16x16.xcf b/ApplicationExeCode/Resources/TOFAccSatPlot16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/TOFAccSatPlot16x16.xcf rename to ApplicationExeCode/Resources/TOFAccSatPlot16x16.xcf diff --git a/ApplicationLibCode/Resources/TempLGR16x16.png b/ApplicationExeCode/Resources/TempLGR16x16.png similarity index 100% rename from ApplicationLibCode/Resources/TempLGR16x16.png rename to ApplicationExeCode/Resources/TempLGR16x16.png diff --git a/ApplicationLibCode/Resources/TempLGR16x16.xcf b/ApplicationExeCode/Resources/TempLGR16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/TempLGR16x16.xcf rename to ApplicationExeCode/Resources/TempLGR16x16.xcf diff --git a/ApplicationLibCode/Resources/TextAnnotation16x16.png b/ApplicationExeCode/Resources/TextAnnotation16x16.png similarity index 100% rename from ApplicationLibCode/Resources/TextAnnotation16x16.png rename to ApplicationExeCode/Resources/TextAnnotation16x16.png diff --git a/ApplicationLibCode/Resources/TextAnnotation16x16.xcf b/ApplicationExeCode/Resources/TextAnnotation16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/TextAnnotation16x16.xcf rename to ApplicationExeCode/Resources/TextAnnotation16x16.xcf diff --git a/ApplicationLibCode/Resources/TileWindows.svg b/ApplicationExeCode/Resources/TileWindows.svg similarity index 100% rename from ApplicationLibCode/Resources/TileWindows.svg rename to ApplicationExeCode/Resources/TileWindows.svg diff --git a/ApplicationLibCode/Resources/TileWindows24x24.png b/ApplicationExeCode/Resources/TileWindows24x24.png similarity index 100% rename from ApplicationLibCode/Resources/TileWindows24x24.png rename to ApplicationExeCode/Resources/TileWindows24x24.png diff --git a/ApplicationLibCode/Resources/TileWindows24x24.xcf b/ApplicationExeCode/Resources/TileWindows24x24.xcf similarity index 100% rename from ApplicationLibCode/Resources/TileWindows24x24.xcf rename to ApplicationExeCode/Resources/TileWindows24x24.xcf diff --git a/ApplicationLibCode/Resources/ToggleOff16x16.png b/ApplicationExeCode/Resources/ToggleOff16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ToggleOff16x16.png rename to ApplicationExeCode/Resources/ToggleOff16x16.png diff --git a/ApplicationLibCode/Resources/ToggleOffL16x16.xcf b/ApplicationExeCode/Resources/ToggleOffL16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ToggleOffL16x16.xcf rename to ApplicationExeCode/Resources/ToggleOffL16x16.xcf diff --git a/ApplicationLibCode/Resources/ToggleOn16x16.png b/ApplicationExeCode/Resources/ToggleOn16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ToggleOn16x16.png rename to ApplicationExeCode/Resources/ToggleOn16x16.png diff --git a/ApplicationLibCode/Resources/ToggleOn16x16.xcf b/ApplicationExeCode/Resources/ToggleOn16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ToggleOn16x16.xcf rename to ApplicationExeCode/Resources/ToggleOn16x16.xcf diff --git a/ApplicationLibCode/Resources/ToggleOnOff16x16.png b/ApplicationExeCode/Resources/ToggleOnOff16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ToggleOnOff16x16.png rename to ApplicationExeCode/Resources/ToggleOnOff16x16.png diff --git a/ApplicationLibCode/Resources/ToggleOnOff16x16.xcf b/ApplicationExeCode/Resources/ToggleOnOff16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ToggleOnOff16x16.xcf rename to ApplicationExeCode/Resources/ToggleOnOff16x16.xcf diff --git a/ApplicationLibCode/Resources/ToggleOnOthersOff16x16.png b/ApplicationExeCode/Resources/ToggleOnOthersOff16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ToggleOnOthersOff16x16.png rename to ApplicationExeCode/Resources/ToggleOnOthersOff16x16.png diff --git a/ApplicationLibCode/Resources/ToggleOnOthersOff16x16.xcf b/ApplicationExeCode/Resources/ToggleOnOthersOff16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ToggleOnOthersOff16x16.xcf rename to ApplicationExeCode/Resources/ToggleOnOthersOff16x16.xcf diff --git a/ApplicationLibCode/Resources/UnLinkView.svg b/ApplicationExeCode/Resources/UnLinkView.svg similarity index 100% rename from ApplicationLibCode/Resources/UnLinkView.svg rename to ApplicationExeCode/Resources/UnLinkView.svg diff --git a/ApplicationLibCode/Resources/UnLinkView16x16.png b/ApplicationExeCode/Resources/UnLinkView16x16.png similarity index 100% rename from ApplicationLibCode/Resources/UnLinkView16x16.png rename to ApplicationExeCode/Resources/UnLinkView16x16.png diff --git a/ApplicationLibCode/Resources/UpView.svg b/ApplicationExeCode/Resources/UpView.svg similarity index 100% rename from ApplicationLibCode/Resources/UpView.svg rename to ApplicationExeCode/Resources/UpView.svg diff --git a/ApplicationLibCode/Resources/UpViewArrow.png b/ApplicationExeCode/Resources/UpViewArrow.png similarity index 100% rename from ApplicationLibCode/Resources/UpViewArrow.png rename to ApplicationExeCode/Resources/UpViewArrow.png diff --git a/ApplicationLibCode/Resources/UpViewArrow.xcf b/ApplicationExeCode/Resources/UpViewArrow.xcf similarity index 100% rename from ApplicationLibCode/Resources/UpViewArrow.xcf rename to ApplicationExeCode/Resources/UpViewArrow.xcf diff --git a/ApplicationLibCode/Resources/Well.png b/ApplicationExeCode/Resources/Well.png similarity index 100% rename from ApplicationLibCode/Resources/Well.png rename to ApplicationExeCode/Resources/Well.png diff --git a/ApplicationLibCode/Resources/Well.svg b/ApplicationExeCode/Resources/Well.svg similarity index 100% rename from ApplicationLibCode/Resources/Well.svg rename to ApplicationExeCode/Resources/Well.svg diff --git a/ApplicationLibCode/Resources/WellAllocLegend16x16.png b/ApplicationExeCode/Resources/WellAllocLegend16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellAllocLegend16x16.png rename to ApplicationExeCode/Resources/WellAllocLegend16x16.png diff --git a/ApplicationLibCode/Resources/WellAllocLegend16x16.xcf b/ApplicationExeCode/Resources/WellAllocLegend16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellAllocLegend16x16.xcf rename to ApplicationExeCode/Resources/WellAllocLegend16x16.xcf diff --git a/ApplicationLibCode/Resources/WellAllocPie16x16.png b/ApplicationExeCode/Resources/WellAllocPie16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellAllocPie16x16.png rename to ApplicationExeCode/Resources/WellAllocPie16x16.png diff --git a/ApplicationLibCode/Resources/WellAllocPie16x16.xcf b/ApplicationExeCode/Resources/WellAllocPie16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellAllocPie16x16.xcf rename to ApplicationExeCode/Resources/WellAllocPie16x16.xcf diff --git a/ApplicationLibCode/Resources/WellAllocPlot16x16.png b/ApplicationExeCode/Resources/WellAllocPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellAllocPlot16x16.png rename to ApplicationExeCode/Resources/WellAllocPlot16x16.png diff --git a/ApplicationLibCode/Resources/WellAllocPlot16x16.xcf b/ApplicationExeCode/Resources/WellAllocPlot16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellAllocPlot16x16.xcf rename to ApplicationExeCode/Resources/WellAllocPlot16x16.xcf diff --git a/ApplicationLibCode/Resources/WellAllocPlots16x16.png b/ApplicationExeCode/Resources/WellAllocPlots16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellAllocPlots16x16.png rename to ApplicationExeCode/Resources/WellAllocPlots16x16.png diff --git a/ApplicationLibCode/Resources/WellBoreStability16x16.png b/ApplicationExeCode/Resources/WellBoreStability16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellBoreStability16x16.png rename to ApplicationExeCode/Resources/WellBoreStability16x16.png diff --git a/ApplicationLibCode/Resources/WellBoreStability16x16.xcf b/ApplicationExeCode/Resources/WellBoreStability16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellBoreStability16x16.xcf rename to ApplicationExeCode/Resources/WellBoreStability16x16.xcf diff --git a/ApplicationLibCode/Resources/WellCF16x16.png b/ApplicationExeCode/Resources/WellCF16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellCF16x16.png rename to ApplicationExeCode/Resources/WellCF16x16.png diff --git a/ApplicationLibCode/Resources/WellCollection.png b/ApplicationExeCode/Resources/WellCollection.png similarity index 100% rename from ApplicationLibCode/Resources/WellCollection.png rename to ApplicationExeCode/Resources/WellCollection.png diff --git a/ApplicationLibCode/Resources/WellFlowPlot16x16.png b/ApplicationExeCode/Resources/WellFlowPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellFlowPlot16x16.png rename to ApplicationExeCode/Resources/WellFlowPlot16x16.png diff --git a/ApplicationLibCode/Resources/WellFlowPlot16x16.xcf b/ApplicationExeCode/Resources/WellFlowPlot16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellFlowPlot16x16.xcf rename to ApplicationExeCode/Resources/WellFlowPlot16x16.xcf diff --git a/ApplicationLibCode/Resources/WellLogCurve16x16.png b/ApplicationExeCode/Resources/WellLogCurve16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellLogCurve16x16.png rename to ApplicationExeCode/Resources/WellLogCurve16x16.png diff --git a/ApplicationLibCode/Resources/WellLogPlot16x16.png b/ApplicationExeCode/Resources/WellLogPlot16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellLogPlot16x16.png rename to ApplicationExeCode/Resources/WellLogPlot16x16.png diff --git a/ApplicationLibCode/Resources/WellLogPlot16x16.xcf b/ApplicationExeCode/Resources/WellLogPlot16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellLogPlot16x16.xcf rename to ApplicationExeCode/Resources/WellLogPlot16x16.xcf diff --git a/ApplicationLibCode/Resources/WellLogPlots16x16.png b/ApplicationExeCode/Resources/WellLogPlots16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellLogPlots16x16.png rename to ApplicationExeCode/Resources/WellLogPlots16x16.png diff --git a/ApplicationLibCode/Resources/WellLogPlots16x16.xcf b/ApplicationExeCode/Resources/WellLogPlots16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellLogPlots16x16.xcf rename to ApplicationExeCode/Resources/WellLogPlots16x16.xcf diff --git a/ApplicationLibCode/Resources/WellLogTrack16x16.png b/ApplicationExeCode/Resources/WellLogTrack16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellLogTrack16x16.png rename to ApplicationExeCode/Resources/WellLogTrack16x16.png diff --git a/ApplicationLibCode/Resources/WellLogTrack16x16.xcf b/ApplicationExeCode/Resources/WellLogTrack16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellLogTrack16x16.xcf rename to ApplicationExeCode/Resources/WellLogTrack16x16.xcf diff --git a/ApplicationLibCode/Resources/WellMeasurement16x16.png b/ApplicationExeCode/Resources/WellMeasurement16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellMeasurement16x16.png rename to ApplicationExeCode/Resources/WellMeasurement16x16.png diff --git a/ApplicationLibCode/Resources/WellMeasurement16x16.xcf b/ApplicationExeCode/Resources/WellMeasurement16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellMeasurement16x16.xcf rename to ApplicationExeCode/Resources/WellMeasurement16x16.xcf diff --git a/ApplicationLibCode/Resources/WellPathGroup.svg b/ApplicationExeCode/Resources/WellPathGroup.svg similarity index 100% rename from ApplicationLibCode/Resources/WellPathGroup.svg rename to ApplicationExeCode/Resources/WellPathGroup.svg diff --git a/ApplicationLibCode/Resources/WellTargetPoint16x16.png b/ApplicationExeCode/Resources/WellTargetPoint16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellTargetPoint16x16.png rename to ApplicationExeCode/Resources/WellTargetPoint16x16.png diff --git a/ApplicationLibCode/Resources/WellTargetPoint16x16.xcf b/ApplicationExeCode/Resources/WellTargetPoint16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellTargetPoint16x16.xcf rename to ApplicationExeCode/Resources/WellTargetPoint16x16.xcf diff --git a/ApplicationLibCode/Resources/WellTargetPointTangent16x16.png b/ApplicationExeCode/Resources/WellTargetPointTangent16x16.png similarity index 100% rename from ApplicationLibCode/Resources/WellTargetPointTangent16x16.png rename to ApplicationExeCode/Resources/WellTargetPointTangent16x16.png diff --git a/ApplicationLibCode/Resources/WellTargetPointTangent16x16.xcf b/ApplicationExeCode/Resources/WellTargetPointTangent16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellTargetPointTangent16x16.xcf rename to ApplicationExeCode/Resources/WellTargetPointTangent16x16.xcf diff --git a/ApplicationLibCode/Resources/WellTargets.png b/ApplicationExeCode/Resources/WellTargets.png similarity index 100% rename from ApplicationLibCode/Resources/WellTargets.png rename to ApplicationExeCode/Resources/WellTargets.png diff --git a/ApplicationLibCode/Resources/WellTargets.xcf b/ApplicationExeCode/Resources/WellTargets.xcf similarity index 100% rename from ApplicationLibCode/Resources/WellTargets.xcf rename to ApplicationExeCode/Resources/WellTargets.xcf diff --git a/ApplicationLibCode/Resources/WestView.svg b/ApplicationExeCode/Resources/WestView.svg similarity index 100% rename from ApplicationLibCode/Resources/WestView.svg rename to ApplicationExeCode/Resources/WestView.svg diff --git a/ApplicationLibCode/Resources/WestViewArrow.png b/ApplicationExeCode/Resources/WestViewArrow.png similarity index 100% rename from ApplicationLibCode/Resources/WestViewArrow.png rename to ApplicationExeCode/Resources/WestViewArrow.png diff --git a/ApplicationLibCode/Resources/WestViewArrow.xcf b/ApplicationExeCode/Resources/WestViewArrow.xcf similarity index 100% rename from ApplicationLibCode/Resources/WestViewArrow.xcf rename to ApplicationExeCode/Resources/WestViewArrow.xcf diff --git a/ApplicationLibCode/Resources/Window16x16.png b/ApplicationExeCode/Resources/Window16x16.png similarity index 100% rename from ApplicationLibCode/Resources/Window16x16.png rename to ApplicationExeCode/Resources/Window16x16.png diff --git a/ApplicationLibCode/Resources/ZoomAll.svg b/ApplicationExeCode/Resources/ZoomAll.svg similarity index 100% rename from ApplicationLibCode/Resources/ZoomAll.svg rename to ApplicationExeCode/Resources/ZoomAll.svg diff --git a/ApplicationLibCode/Resources/ZoomAll16x16.png b/ApplicationExeCode/Resources/ZoomAll16x16.png similarity index 100% rename from ApplicationLibCode/Resources/ZoomAll16x16.png rename to ApplicationExeCode/Resources/ZoomAll16x16.png diff --git a/ApplicationLibCode/Resources/ZoomAll16x16.xcf b/ApplicationExeCode/Resources/ZoomAll16x16.xcf similarity index 100% rename from ApplicationLibCode/Resources/ZoomAll16x16.xcf rename to ApplicationExeCode/Resources/ZoomAll16x16.xcf diff --git a/ApplicationLibCode/Resources/calculator.png b/ApplicationExeCode/Resources/calculator.png similarity index 100% rename from ApplicationLibCode/Resources/calculator.png rename to ApplicationExeCode/Resources/calculator.png diff --git a/ApplicationLibCode/Resources/chain.png b/ApplicationExeCode/Resources/chain.png similarity index 100% rename from ApplicationLibCode/Resources/chain.png rename to ApplicationExeCode/Resources/chain.png diff --git a/ApplicationLibCode/Resources/clipboard.png b/ApplicationExeCode/Resources/clipboard.png similarity index 100% rename from ApplicationLibCode/Resources/clipboard.png rename to ApplicationExeCode/Resources/clipboard.png diff --git a/ApplicationLibCode/Resources/clipboard.xcf b/ApplicationExeCode/Resources/clipboard.xcf similarity index 100% rename from ApplicationLibCode/Resources/clipboard.xcf rename to ApplicationExeCode/Resources/clipboard.xcf diff --git a/ApplicationLibCode/Resources/disable_lighting_24x24.png b/ApplicationExeCode/Resources/disable_lighting_24x24.png similarity index 100% rename from ApplicationLibCode/Resources/disable_lighting_24x24.png rename to ApplicationExeCode/Resources/disable_lighting_24x24.png diff --git a/ApplicationLibCode/Resources/draw_style_WellCellsToRangeFilter_24x24.png b/ApplicationExeCode/Resources/draw_style_WellCellsToRangeFilter_24x24.png similarity index 100% rename from ApplicationLibCode/Resources/draw_style_WellCellsToRangeFilter_24x24.png rename to ApplicationExeCode/Resources/draw_style_WellCellsToRangeFilter_24x24.png diff --git a/ApplicationLibCode/Resources/draw_style_WellCellsToRangeFilter_24x24.xcf b/ApplicationExeCode/Resources/draw_style_WellCellsToRangeFilter_24x24.xcf similarity index 100% rename from ApplicationLibCode/Resources/draw_style_WellCellsToRangeFilter_24x24.xcf rename to ApplicationExeCode/Resources/draw_style_WellCellsToRangeFilter_24x24.xcf diff --git a/ApplicationLibCode/Resources/draw_style_faults_24x24.png b/ApplicationExeCode/Resources/draw_style_faults_24x24.png similarity index 100% rename from ApplicationLibCode/Resources/draw_style_faults_24x24.png rename to ApplicationExeCode/Resources/draw_style_faults_24x24.png diff --git a/ApplicationLibCode/Resources/draw_style_faults_24x24.xcf b/ApplicationExeCode/Resources/draw_style_faults_24x24.xcf similarity index 100% rename from ApplicationLibCode/Resources/draw_style_faults_24x24.xcf rename to ApplicationExeCode/Resources/draw_style_faults_24x24.xcf diff --git a/ApplicationLibCode/Resources/draw_style_faults_label_24x24.png b/ApplicationExeCode/Resources/draw_style_faults_label_24x24.png similarity index 100% rename from ApplicationLibCode/Resources/draw_style_faults_label_24x24.png rename to ApplicationExeCode/Resources/draw_style_faults_label_24x24.png diff --git a/ApplicationLibCode/Resources/draw_style_lines_24x24.png b/ApplicationExeCode/Resources/draw_style_lines_24x24.png similarity index 100% rename from ApplicationLibCode/Resources/draw_style_lines_24x24.png rename to ApplicationExeCode/Resources/draw_style_lines_24x24.png diff --git a/ApplicationLibCode/Resources/draw_style_meshlines_24x24.png b/ApplicationExeCode/Resources/draw_style_meshlines_24x24.png similarity index 100% rename from ApplicationLibCode/Resources/draw_style_meshlines_24x24.png rename to ApplicationExeCode/Resources/draw_style_meshlines_24x24.png diff --git a/ApplicationLibCode/Resources/draw_style_surface_24x24.png b/ApplicationExeCode/Resources/draw_style_surface_24x24.png similarity index 100% rename from ApplicationLibCode/Resources/draw_style_surface_24x24.png rename to ApplicationExeCode/Resources/draw_style_surface_24x24.png diff --git a/ApplicationLibCode/Resources/draw_style_surface_w_fault_mesh_24x24.png b/ApplicationExeCode/Resources/draw_style_surface_w_fault_mesh_24x24.png similarity index 100% rename from ApplicationLibCode/Resources/draw_style_surface_w_fault_mesh_24x24.png rename to ApplicationExeCode/Resources/draw_style_surface_w_fault_mesh_24x24.png diff --git a/ApplicationLibCode/Resources/draw_style_surface_w_fault_mesh_24x24.xcf b/ApplicationExeCode/Resources/draw_style_surface_w_fault_mesh_24x24.xcf similarity index 100% rename from ApplicationLibCode/Resources/draw_style_surface_w_fault_mesh_24x24.xcf rename to ApplicationExeCode/Resources/draw_style_surface_w_fault_mesh_24x24.xcf diff --git a/ApplicationLibCode/Resources/fs_CellFace.glsl b/ApplicationExeCode/Resources/fs_CellFace.glsl similarity index 100% rename from ApplicationLibCode/Resources/fs_CellFace.glsl rename to ApplicationExeCode/Resources/fs_CellFace.glsl diff --git a/ApplicationLibCode/Resources/octave.png b/ApplicationExeCode/Resources/octave.png similarity index 100% rename from ApplicationLibCode/Resources/octave.png rename to ApplicationExeCode/Resources/octave.png diff --git a/ApplicationLibCode/Resources/openFolder24x24.png b/ApplicationExeCode/Resources/openFolder24x24.png similarity index 100% rename from ApplicationLibCode/Resources/openFolder24x24.png rename to ApplicationExeCode/Resources/openFolder24x24.png diff --git a/ApplicationLibCode/Resources/openFolder24x24.xcf b/ApplicationExeCode/Resources/openFolder24x24.xcf similarity index 100% rename from ApplicationLibCode/Resources/openFolder24x24.xcf rename to ApplicationExeCode/Resources/openFolder24x24.xcf diff --git a/ApplicationLibCode/Resources/statistics.png b/ApplicationExeCode/Resources/statistics.png similarity index 100% rename from ApplicationLibCode/Resources/statistics.png rename to ApplicationExeCode/Resources/statistics.png diff --git a/ApplicationLibCode/Resources/themes/dark.qss b/ApplicationExeCode/Resources/themes/dark.qss similarity index 100% rename from ApplicationLibCode/Resources/themes/dark.qss rename to ApplicationExeCode/Resources/themes/dark.qss diff --git a/ApplicationLibCode/Resources/themes/dark/arrow-down.svg b/ApplicationExeCode/Resources/themes/dark/arrow-down.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/arrow-down.svg rename to ApplicationExeCode/Resources/themes/dark/arrow-down.svg diff --git a/ApplicationLibCode/Resources/themes/dark/arrow-up.svg b/ApplicationExeCode/Resources/themes/dark/arrow-up.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/arrow-up.svg rename to ApplicationExeCode/Resources/themes/dark/arrow-up.svg diff --git a/ApplicationLibCode/Resources/themes/dark/blank.svg b/ApplicationExeCode/Resources/themes/dark/blank.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/blank.svg rename to ApplicationExeCode/Resources/themes/dark/blank.svg diff --git a/ApplicationLibCode/Resources/themes/dark/checkbox-checked-disabled.svg b/ApplicationExeCode/Resources/themes/dark/checkbox-checked-disabled.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/checkbox-checked-disabled.svg rename to ApplicationExeCode/Resources/themes/dark/checkbox-checked-disabled.svg diff --git a/ApplicationLibCode/Resources/themes/dark/checkbox-checked.svg b/ApplicationExeCode/Resources/themes/dark/checkbox-checked.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/checkbox-checked.svg rename to ApplicationExeCode/Resources/themes/dark/checkbox-checked.svg diff --git a/ApplicationLibCode/Resources/themes/dark/checkbox-indeterminate-disabled.svg b/ApplicationExeCode/Resources/themes/dark/checkbox-indeterminate-disabled.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/checkbox-indeterminate-disabled.svg rename to ApplicationExeCode/Resources/themes/dark/checkbox-indeterminate-disabled.svg diff --git a/ApplicationLibCode/Resources/themes/dark/checkbox-indeterminate.svg b/ApplicationExeCode/Resources/themes/dark/checkbox-indeterminate.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/checkbox-indeterminate.svg rename to ApplicationExeCode/Resources/themes/dark/checkbox-indeterminate.svg diff --git a/ApplicationLibCode/Resources/themes/dark/checkbox-unchecked-disabled.svg b/ApplicationExeCode/Resources/themes/dark/checkbox-unchecked-disabled.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/checkbox-unchecked-disabled.svg rename to ApplicationExeCode/Resources/themes/dark/checkbox-unchecked-disabled.svg diff --git a/ApplicationLibCode/Resources/themes/dark/checkbox-unchecked.svg b/ApplicationExeCode/Resources/themes/dark/checkbox-unchecked.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/checkbox-unchecked.svg rename to ApplicationExeCode/Resources/themes/dark/checkbox-unchecked.svg diff --git a/ApplicationLibCode/Resources/themes/dark/close-hover.svg b/ApplicationExeCode/Resources/themes/dark/close-hover.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/close-hover.svg rename to ApplicationExeCode/Resources/themes/dark/close-hover.svg diff --git a/ApplicationLibCode/Resources/themes/dark/close.svg b/ApplicationExeCode/Resources/themes/dark/close.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/close.svg rename to ApplicationExeCode/Resources/themes/dark/close.svg diff --git a/ApplicationLibCode/Resources/themes/dark/collapsed.svg b/ApplicationExeCode/Resources/themes/dark/collapsed.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/collapsed.svg rename to ApplicationExeCode/Resources/themes/dark/collapsed.svg diff --git a/ApplicationLibCode/Resources/themes/dark/expanded.svg b/ApplicationExeCode/Resources/themes/dark/expanded.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/expanded.svg rename to ApplicationExeCode/Resources/themes/dark/expanded.svg diff --git a/ApplicationLibCode/Resources/themes/dark/float-hover.svg b/ApplicationExeCode/Resources/themes/dark/float-hover.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/float-hover.svg rename to ApplicationExeCode/Resources/themes/dark/float-hover.svg diff --git a/ApplicationLibCode/Resources/themes/dark/float.svg b/ApplicationExeCode/Resources/themes/dark/float.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/float.svg rename to ApplicationExeCode/Resources/themes/dark/float.svg diff --git a/ApplicationLibCode/Resources/themes/dark/gripper.svg b/ApplicationExeCode/Resources/themes/dark/gripper.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/dark/gripper.svg rename to ApplicationExeCode/Resources/themes/dark/gripper.svg diff --git a/ApplicationLibCode/Resources/themes/default.qss b/ApplicationExeCode/Resources/themes/default.qss similarity index 100% rename from ApplicationLibCode/Resources/themes/default.qss rename to ApplicationExeCode/Resources/themes/default.qss diff --git a/ApplicationLibCode/Resources/themes/light.qss b/ApplicationExeCode/Resources/themes/light.qss similarity index 100% rename from ApplicationLibCode/Resources/themes/light.qss rename to ApplicationExeCode/Resources/themes/light.qss diff --git a/ApplicationLibCode/Resources/themes/light/gripper.svg b/ApplicationExeCode/Resources/themes/light/gripper.svg similarity index 100% rename from ApplicationLibCode/Resources/themes/light/gripper.svg rename to ApplicationExeCode/Resources/themes/light/gripper.svg diff --git a/ApplicationLibCode/Resources/utility/qss-keywords.txt b/ApplicationExeCode/Resources/utility/qss-keywords.txt similarity index 100% rename from ApplicationLibCode/Resources/utility/qss-keywords.txt rename to ApplicationExeCode/Resources/utility/qss-keywords.txt diff --git a/ApplicationLibCode/Resources/vs_2dTextureCellFace.glsl b/ApplicationExeCode/Resources/vs_2dTextureCellFace.glsl similarity index 100% rename from ApplicationLibCode/Resources/vs_2dTextureCellFace.glsl rename to ApplicationExeCode/Resources/vs_2dTextureCellFace.glsl diff --git a/ApplicationLibCode/Resources/vs_CellFace.glsl b/ApplicationExeCode/Resources/vs_CellFace.glsl similarity index 100% rename from ApplicationLibCode/Resources/vs_CellFace.glsl rename to ApplicationExeCode/Resources/vs_CellFace.glsl diff --git a/ApplicationExeCode/RiaGrpcConsoleApplication.cpp b/ApplicationExeCode/RiaGrpcConsoleApplication.cpp new file mode 100644 index 0000000000..b0e17ee9ab --- /dev/null +++ b/ApplicationExeCode/RiaGrpcConsoleApplication.cpp @@ -0,0 +1,58 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2021- Equinor ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#include "RiaGrpcConsoleApplication.h" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QProcessEnvironment RiaGrpcConsoleApplication::pythonProcessEnvironment() const +{ + return grpcProcessEnvironment(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaGrpcConsoleApplication::doIdleProcessing() +{ + int processCount = processRequests(); + if ( processCount == -1 ) + { + closeProject(); + QCoreApplication::quit(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiaGrpcConsoleApplication::RiaGrpcConsoleApplication( int& argc, char** argv ) + : RiaConsoleApplication( argc, argv ) +{ + m_idleTimer = new QTimer( this ); + connect( m_idleTimer, SIGNAL( timeout() ), this, SLOT( doIdleProcessing() ) ); + m_idleTimer->start( 0 ); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiaGrpcConsoleApplication::~RiaGrpcConsoleApplication() +{ + delete m_idleTimer; +} diff --git a/ApplicationExeCode/RiaGrpcConsoleApplication.h b/ApplicationExeCode/RiaGrpcConsoleApplication.h new file mode 100644 index 0000000000..923b1427aa --- /dev/null +++ b/ApplicationExeCode/RiaGrpcConsoleApplication.h @@ -0,0 +1,41 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2021- Equinor ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include "RiaConsoleApplication.h" +#include "RiaGrpcApplicationInterface.h" + +#include +#include + +class RiaGrpcConsoleApplication : public RiaConsoleApplication, public RiaGrpcApplicationInterface +{ + Q_OBJECT + +public: + RiaGrpcConsoleApplication( int& argc, char** argv ); + ~RiaGrpcConsoleApplication(); + + QProcessEnvironment pythonProcessEnvironment() const override; + +private slots: + void doIdleProcessing(); + +private: + QPointer m_idleTimer; +}; \ No newline at end of file diff --git a/ApplicationExeCode/RiaGrpcGuiApplication.cpp b/ApplicationExeCode/RiaGrpcGuiApplication.cpp new file mode 100644 index 0000000000..0ccafe294e --- /dev/null +++ b/ApplicationExeCode/RiaGrpcGuiApplication.cpp @@ -0,0 +1,119 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2021- Equinor ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#include "RiaGrpcGuiApplication.h" + +#include "RiaPreferences.h" + +#include "cafProgressInfo.h" + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiaGrpcGuiApplication::RiaGrpcGuiApplication( int& argc, char** argv ) + : RiaGuiApplication( argc, argv ) +{ + m_idleTimer = new QTimer( this ); + connect( m_idleTimer, SIGNAL( timeout() ), this, SLOT( doIdleProcessing() ) ); + m_idleTimer->start( 5 ); + + connect( this, SIGNAL( aboutToQuit() ), this, SLOT( onProgramExit() ) ); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiaGrpcGuiApplication::~RiaGrpcGuiApplication() +{ + delete m_idleTimer; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QProcessEnvironment RiaGrpcGuiApplication::pythonProcessEnvironment() const +{ + return grpcProcessEnvironment(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaGrpcGuiApplication::doIdleProcessing() +{ + if ( !caf::ProgressInfoStatic::isRunning() ) + { + int processCount = processRequests(); + if ( processCount == -1 ) + { + closeProject(); + QCoreApplication::quit(); + } + else + { + static int idleIterationCount = 0; + int iterationInterval = 0; + if ( processCount > 0 ) + { + idleIterationCount = 0; + } + else + { + ++idleIterationCount; + idleIterationCount = std::min( idleIterationCount, 500 ); + if ( idleIterationCount == 500 ) + { + iterationInterval = 5; + } + } + if ( iterationInterval != m_idleTimer->interval() ) + { + m_idleTimer->setInterval( iterationInterval ); + } + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaGrpcGuiApplication::onGuiPreferencesChanged() +{ + bool isGrpcRunning = m_grpcServer != nullptr && m_grpcServer->isRunning(); + bool shouldItBeRunning = m_preferences->enableGrpcServer(); + if ( isGrpcRunning && !shouldItBeRunning ) + { + m_grpcServer->quit(); + } + else if ( !isGrpcRunning && shouldItBeRunning ) + { + int portNumber = RiaGrpcServer::findAvailablePortNumber( m_preferences->defaultGrpcPortNumber() ); + m_grpcServer = std::make_unique( portNumber ); + m_grpcServer->runInThread(); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaGrpcGuiApplication::onProgramExit() +{ + if ( m_grpcServer ) + { + m_grpcServer->quit(); + } +} diff --git a/ApplicationExeCode/RiaGrpcGuiApplication.h b/ApplicationExeCode/RiaGrpcGuiApplication.h new file mode 100644 index 0000000000..137f4b410a --- /dev/null +++ b/ApplicationExeCode/RiaGrpcGuiApplication.h @@ -0,0 +1,46 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2021- Equinor ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include "RiaGrpcApplicationInterface.h" +#include "RiaGuiApplication.h" + +#include +#include + +class QProcessEnvironment; + +class RiaGrpcGuiApplication : public RiaGuiApplication, public RiaGrpcApplicationInterface +{ + Q_OBJECT + +public: + RiaGrpcGuiApplication( int& argc, char** argv ); + ~RiaGrpcGuiApplication() override; + + QProcessEnvironment pythonProcessEnvironment() const override; + +private: + void onGuiPreferencesChanged() override; +private slots: + void doIdleProcessing(); + void onProgramExit(); + +private: + QPointer m_idleTimer; +}; \ No newline at end of file diff --git a/ApplicationLibCode/Application/RiaMain.cpp b/ApplicationExeCode/RiaMain.cpp similarity index 89% rename from ApplicationLibCode/Application/RiaMain.cpp rename to ApplicationExeCode/RiaMain.cpp index 8ba57b47f6..eb34dbea1b 100644 --- a/ApplicationLibCode/Application/RiaMain.cpp +++ b/ApplicationExeCode/RiaMain.cpp @@ -17,10 +17,15 @@ ///////////////////////////////////////////////////////////////////////////////// #include "RiaArgumentParser.h" -#include "RiaConsoleApplication.h" -#include "RiaGuiApplication.h" #include "RiaLogging.h" +#ifdef ENABLE_GRPC +#include "RiaGrpcConsoleApplication.h" +#include "RiaGrpcGuiApplication.h" +#else +#include "RiaConsoleApplication.h" +#include "RiaGuiApplication.h" +#endif #include "cvfProgramOptions.h" #include "cvfqtUtils.h" @@ -35,10 +40,18 @@ RiaApplication* createApplication( int& argc, char* argv[] ) { if ( !qstrcmp( argv[i], "--console" ) || !qstrcmp( argv[i], "--unittest" ) ) { +#ifdef ENABLE_GRPC + return new RiaGrpcConsoleApplication( argc, argv ); +#else return new RiaConsoleApplication( argc, argv ); +#endif } } +#ifdef ENABLE_GRPC + return new RiaGrpcGuiApplication( argc, argv ); +#else return new RiaGuiApplication( argc, argv ); +#endif } int main( int argc, char* argv[] ) @@ -107,10 +120,13 @@ int main( int argc, char* argv[] ) int exitCode = 0; try { - if ( app->initializeGrpcServer( progOpt ) ) +#ifdef ENABLE_GRPC + auto grpcInterface = dynamic_cast( app.get() ); + if ( grpcInterface && grpcInterface->initializeGrpcServer( progOpt ) ) { - app->launchGrpcServer(); + grpcInterface->launchGrpcServer(); } +#endif exitCode = QCoreApplication::instance()->exec(); } catch ( std::exception& exep ) diff --git a/ApplicationLibCode/resinsight b/ApplicationExeCode/resinsight similarity index 100% rename from ApplicationLibCode/resinsight rename to ApplicationExeCode/resinsight diff --git a/ApplicationLibCode/resinsight.desktop.in b/ApplicationExeCode/resinsight.desktop.in similarity index 100% rename from ApplicationLibCode/resinsight.desktop.in rename to ApplicationExeCode/resinsight.desktop.in diff --git a/ApplicationLibCode/Application/CMakeLists_files.cmake b/ApplicationLibCode/Application/CMakeLists_files.cmake index b7995a488d..fe85b63507 100644 --- a/ApplicationLibCode/Application/CMakeLists_files.cmake +++ b/ApplicationLibCode/Application/CMakeLists_files.cmake @@ -29,7 +29,6 @@ ${CMAKE_CURRENT_LIST_DIR}/RiaGuiApplication.cpp ${CMAKE_CURRENT_LIST_DIR}/RiaCompletionTypeCalculationScheduler.cpp ${CMAKE_CURRENT_LIST_DIR}/RiaDefines.cpp ${CMAKE_CURRENT_LIST_DIR}/RiaFractureDefines.cpp -${CMAKE_CURRENT_LIST_DIR}/RiaMain.cpp ${CMAKE_CURRENT_LIST_DIR}/RiaPreferences.cpp ${CMAKE_CURRENT_LIST_DIR}/RiaPorosityModel.cpp ${CMAKE_CURRENT_LIST_DIR}/RiaSummaryCurveDefinition.cpp diff --git a/ApplicationLibCode/Application/RiaApplication.cpp b/ApplicationLibCode/Application/RiaApplication.cpp index 8ed8156f53..62cc41f46d 100644 --- a/ApplicationLibCode/Application/RiaApplication.cpp +++ b/ApplicationLibCode/Application/RiaApplication.cpp @@ -1076,27 +1076,7 @@ QString RiaApplication::pythonPath() const //-------------------------------------------------------------------------------------------------- QProcessEnvironment RiaApplication::pythonProcessEnvironment() const { - QProcessEnvironment penv = QProcessEnvironment::systemEnvironment(); -#ifdef ENABLE_GRPC - penv.insert( "RESINSIGHT_GRPC_PORT", QString( "%1" ).arg( m_grpcServer->portNumber() ) ); - penv.insert( "RESINSIGHT_EXECUTABLE", QCoreApplication::applicationFilePath() ); - - QStringList ripsLocations; - QString separator; -#ifdef WIN32 - ripsLocations << QCoreApplication::applicationDirPath() + "\\Python" - << QCoreApplication::applicationDirPath() + "\\..\\..\\Python"; - separator = ";"; - -#else - ripsLocations << QCoreApplication::applicationDirPath() + "/Python" - << QCoreApplication::applicationDirPath() + "/../../Python"; - separator = ":"; -#endif - penv.insert( "PYTHONPATH", - QString( "%1%2%3" ).arg( penv.value( "PYTHONPATH" ) ).arg( separator ).arg( ripsLocations.join( separator ) ) ); -#endif - return penv; + return QProcessEnvironment::systemEnvironment(); } //-------------------------------------------------------------------------------------------------- @@ -1500,36 +1480,6 @@ cvf::Font* RiaApplication::defaultWellLabelFont() return m_defaultWellLabelFont.p(); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool RiaApplication::initializeGrpcServer( const cvf::ProgramOptions& progOpt ) -{ -#ifdef ENABLE_GRPC - if ( !m_preferences->enableGrpcServer() ) return false; - - int defaultPortNumber = m_preferences->defaultGrpcPortNumber(); - bool fixedPort = false; - if ( cvf::Option o = progOpt.option( "server" ) ) - { - if ( o.valueCount() == 1 ) - { - defaultPortNumber = o.value( 0 ).toInt( defaultPortNumber ); - fixedPort = true; - } - } - int portNumber = defaultPortNumber; - if ( !fixedPort ) - { - portNumber = RiaGrpcServer::findAvailablePortNumber( defaultPortNumber ); - } - m_grpcServer = std::make_unique( portNumber ); - return true; -#else - return false; -#endif -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/Application/RiaApplication.h b/ApplicationLibCode/Application/RiaApplication.h index 9c69b025dd..b3d3313224 100644 --- a/ApplicationLibCode/Application/RiaApplication.h +++ b/ApplicationLibCode/Application/RiaApplication.h @@ -20,9 +20,6 @@ #pragma once #include "RiaDefines.h" -#ifdef ENABLE_GRPC -#include "RiaGrpcServer.h" -#endif #include "cafPdmField.h" #include "cafPdmObject.h" @@ -47,6 +44,7 @@ class Drawable; class RIProcess; +class RiaGrpcServer; class RiaPreferences; class RiaProjectModifier; class RiaSocketServer; @@ -161,8 +159,8 @@ public: QStringList octaveArguments() const; QProcessEnvironment octaveProcessEnvironment() const; - QString pythonPath() const; - QProcessEnvironment pythonProcessEnvironment() const; + QString pythonPath() const; + virtual QProcessEnvironment pythonProcessEnvironment() const; bool launchProcess( const QString& program, const QStringList& arguments, const QProcessEnvironment& processEnvironment ); bool launchProcessForMultipleCases( const QString& program, @@ -198,8 +196,6 @@ public: cvf::Font* defaultAnnotationFont(); cvf::Font* defaultWellLabelFont(); - bool initializeGrpcServer( const cvf::ProgramOptions& progOpt ); - // Public implementation specific overrides virtual void initialize(); virtual ApplicationStatus handleArguments( gsl::not_null progOpt ) = 0; @@ -207,11 +203,6 @@ public: virtual void addToRecentFiles( const QString& fileName ) {} virtual void showFormattedTextInMessageBoxOrConsole( const QString& errMsg ) = 0; - virtual void launchGrpcServer() = 0; - -#ifdef ENABLE_GRPC - virtual RiaGrpcServer* grpcServer() const = 0; -#endif protected: // Protected implementation specific overrides virtual void invokeProcessEvents( QEventLoop::ProcessEventsFlags flags = QEventLoop::AllEvents ) = 0; @@ -246,10 +237,6 @@ protected: QPointer m_socketServer; std::unique_ptr m_workerProcess; -#ifdef ENABLE_GRPC - std::unique_ptr m_grpcServer; -#endif - // Execute for all settings std::list m_scriptCaseIds; int m_currentScriptCaseId; diff --git a/ApplicationLibCode/Application/RiaConsoleApplication.cpp b/ApplicationLibCode/Application/RiaConsoleApplication.cpp index 37ca8d3c6e..56758e0ff7 100644 --- a/ApplicationLibCode/Application/RiaConsoleApplication.cpp +++ b/ApplicationLibCode/Application/RiaConsoleApplication.cpp @@ -377,29 +377,6 @@ void RiaConsoleApplication::showFormattedTextInMessageBoxOrConsole( const QStrin std::cout << errMsg.toStdString(); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiaConsoleApplication::launchGrpcServer() -{ -#ifdef ENABLE_GRPC - m_grpcServer->runInThread(); - m_idleTimer = new QTimer( this ); - connect( m_idleTimer, SIGNAL( timeout() ), this, SLOT( runIdleProcessing() ) ); - m_idleTimer->start( 0 ); -#endif -} - -#ifdef ENABLE_GRPC -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RiaGrpcServer* RiaConsoleApplication::grpcServer() const -{ - return m_grpcServer.get(); -} -#endif - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -432,21 +409,3 @@ void RiaConsoleApplication::onProjectClosed() { processEvents(); } - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiaConsoleApplication::runIdleProcessing() -{ -#ifdef ENABLE_GRPC - if ( RiaGrpcServer::receivedExitRequest() ) - { - m_grpcServer->quit(); - QCoreApplication::quit(); - } - else - { - m_grpcServer->processAllQueuedRequests(); - } -#endif -} diff --git a/ApplicationLibCode/Application/RiaConsoleApplication.h b/ApplicationLibCode/Application/RiaConsoleApplication.h index 6090db3123..4b31fa6492 100644 --- a/ApplicationLibCode/Application/RiaConsoleApplication.h +++ b/ApplicationLibCode/Application/RiaConsoleApplication.h @@ -43,10 +43,6 @@ public: void initialize() override; ApplicationStatus handleArguments( gsl::not_null progOpt ) override; void showFormattedTextInMessageBoxOrConsole( const QString& errMsg ) override; - void launchGrpcServer() override; -#ifdef ENABLE_GRPC - RiaGrpcServer* grpcServer() const override; -#endif protected: // Protected implementation specific overrides @@ -54,12 +50,4 @@ protected: void onProjectOpeningError( const QString& errMsg ) override; void onProjectOpened() override; void onProjectClosed() override; - -private slots: - void runIdleProcessing(); - -private: -#ifdef ENABLE_GRPC - QPointer m_idleTimer; -#endif }; diff --git a/ApplicationLibCode/Application/RiaGuiApplication.cpp b/ApplicationLibCode/Application/RiaGuiApplication.cpp index 397bd64a0b..38fb264d7e 100644 --- a/ApplicationLibCode/Application/RiaGuiApplication.cpp +++ b/ApplicationLibCode/Application/RiaGuiApplication.cpp @@ -190,8 +190,6 @@ RiaGuiApplication::RiaGuiApplication( int& argc, char** argv ) setWindowIcon( QIcon( ":/AppLogo48x48.png" ) ); m_recentFileActionProvider = std::make_unique(); - - connect( this, SIGNAL( aboutToQuit() ), this, SLOT( onProgramExit() ) ); } //-------------------------------------------------------------------------------------------------- @@ -1201,29 +1199,6 @@ void RiaGuiApplication::showFormattedTextInMessageBoxOrConsole( const QString& t dlg.exec(); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiaGuiApplication::launchGrpcServer() -{ -#ifdef ENABLE_GRPC - m_grpcServer->runInThread(); - m_idleTimer = new QTimer( this ); - connect( m_idleTimer, SIGNAL( timeout() ), this, SLOT( runIdleProcessing() ) ); - m_idleTimer->start( 5 ); -#endif -} - -#ifdef ENABLE_GRPC -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RiaGrpcServer* RiaGuiApplication::grpcServer() const -{ - return m_grpcServer.get(); -} -#endif - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1389,19 +1364,6 @@ void RiaGuiApplication::onProjectSaved() caf::PdmUiModelChangeDetector::instance()->reset(); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiaGuiApplication::onProgramExit() -{ -#ifdef ENABLE_GRPC - if ( m_grpcServer ) - { - m_grpcServer->quit(); - } -#endif -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -1595,27 +1557,11 @@ void RiaGuiApplication::applyGuiPreferences( const RiaPreferences* } } caf::PdmUiItem::enableExtraDebugText( m_preferences->appendFieldKeywordToToolTipText() ); -} -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiaGuiApplication::updateGrpcServer() -{ -#ifdef ENABLE_GRPC - bool isGrpcRunning = m_grpcServer != nullptr && m_grpcServer->isRunning(); - bool shouldItBeRunning = m_preferences->enableGrpcServer(); - if ( isGrpcRunning && !shouldItBeRunning ) + if ( oldPreferences ) { - m_grpcServer->quit(); + onGuiPreferencesChanged(); } - else if ( !isGrpcRunning && shouldItBeRunning ) - { - int portNumber = RiaGrpcServer::findAvailablePortNumber( m_preferences->defaultGrpcPortNumber() ); - m_grpcServer = std::make_unique( portNumber ); - m_grpcServer->runInThread(); - } -#endif } //-------------------------------------------------------------------------------------------------- @@ -1690,43 +1636,6 @@ void RiaGuiApplication::slotWorkerProcessFinished( int exitCode, QProcess::ExitS } } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RiaGuiApplication::runIdleProcessing() -{ -#ifdef ENABLE_GRPC - if ( RiaGrpcServer::receivedExitRequest() ) - { - closeProject(); - m_grpcServer->quit(); - QCoreApplication::quit(); - } - else if ( !caf::ProgressInfoStatic::isRunning() ) - { - static int idleIterationCount = 0; - int iterationInterval = 0; - if ( m_grpcServer->processAllQueuedRequests() > 0 ) - { - idleIterationCount = 0; - } - else - { - ++idleIterationCount; - idleIterationCount = std::min( idleIterationCount, 500 ); - if ( idleIterationCount == 500 ) - { - iterationInterval = 5; - } - } - if ( iterationInterval != m_idleTimer->interval() ) - { - m_idleTimer->setInterval( iterationInterval ); - } - } -#endif -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/Application/RiaGuiApplication.h b/ApplicationLibCode/Application/RiaGuiApplication.h index c3a3459381..a19e17d846 100644 --- a/ApplicationLibCode/Application/RiaGuiApplication.h +++ b/ApplicationLibCode/Application/RiaGuiApplication.h @@ -131,7 +131,6 @@ public: static void clearAllSelections(); void applyGuiPreferences( const RiaPreferences* oldPreferences = nullptr, const std::vector& defaultFontObjects = {} ); - void updateGrpcServer(); static int applicationResolution(); // Public RiaApplication overrides @@ -140,10 +139,7 @@ public: int launchUnitTestsWithConsole() override; void addToRecentFiles( const QString& fileName ) override; void showFormattedTextInMessageBoxOrConsole( const QString& errMsg ) override; - void launchGrpcServer() override; -#ifdef ENABLE_GRPC - RiaGrpcServer* grpcServer() const override; -#endif + protected: // Protected RiaApplication overrides void invokeProcessEvents( QEventLoop::ProcessEventsFlags flags = QEventLoop::AllEvents ) override; @@ -160,6 +156,8 @@ protected: void startMonitoringWorkProgress( caf::UiProcess* uiProcess ) override; void stopMonitoringWorkProgress() override; + virtual void onGuiPreferencesChanged() {} + private: void setWindowCaptionFromAppState(); @@ -175,15 +173,10 @@ private: private slots: void slotWorkerProcessFinished( int exitCode, QProcess::ExitStatus exitStatus ); - void runIdleProcessing(); - void onProgramExit(); private: RiuMainWindow* m_mainWindow; RiuPlotMainWindow* m_mainPlotWindow; -#ifdef ENABLE_GRPC - QPointer m_idleTimer; -#endif std::unique_ptr m_recentFileActionProvider; diff --git a/ApplicationLibCode/CMakeLists.txt b/ApplicationLibCode/CMakeLists.txt index ebe2be882c..17930171bb 100644 --- a/ApplicationLibCode/CMakeLists.txt +++ b/ApplicationLibCode/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.12) -project(ApplicationCode) +project(ApplicationLibCode) # set packaging dir if(NOT CPACK_PACKAGE_DIRECTORY) @@ -20,17 +20,6 @@ endif() # Open GL find_package(OpenGL) -option(RESINSIGHT_ENABLE_GRPC "Enable the gRPC scripting framework" OFF) -if(RESINSIGHT_ENABLE_GRPC) - option( - RESINSIGHT_GRPC_DOWNLOAD_PYTHON_MODULE - "Download the gRPC python modules to enable generation of Python interface" - ON) - option(RESINSIGHT_GRPC_BUNDLE_PYTHON_MODULE - "Bundle the gRPC python modules into the install folder" OFF) - add_definitions(-DENABLE_GRPC) -endif() - option(RESINSIGHT_TREAT_WARNINGS_AS_ERRORS "Treat warnings as errors (stops build)" OFF) @@ -71,7 +60,7 @@ endif(Qt5Core_FOUND) # NB: The generated file is written to Cmake binary folder to avoid source tree # pollution This folder is added to include_directories -configure_file(${CMAKE_SOURCE_DIR}/ApplicationCode/Adm/RiaVersionInfo.h.cmake +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Adm/RiaVersionInfo.h.cmake ${CMAKE_BINARY_DIR}/Generated/RiaVersionInfo.h) configure_file(${CMAKE_CURRENT_LIST_DIR}/RiuThemesDirectory.h.cmake @@ -92,7 +81,6 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/Commands ${CMAKE_CURRENT_SOURCE_DIR}/Commands/EclipseCommands ${CMAKE_CURRENT_SOURCE_DIR}/FileInterface - ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface ${CMAKE_CURRENT_SOURCE_DIR}/SocketInterface ${CMAKE_CURRENT_SOURCE_DIR}/Measurement ${CMAKE_CURRENT_SOURCE_DIR}/ModelVisualization @@ -219,11 +207,6 @@ add_subdirectory(Commands) set(RI_LIBRARIES ResultStatisticsCache Commands) -if(RESINSIGHT_ENABLE_GRPC) - add_subdirectory(GrpcInterface) - list(APPEND RI_LIBRARIES GrpcInterface) -endif() - # # Odb api # @@ -282,20 +265,6 @@ set(QT_MOC_HEADERS qt5_wrap_cpp(MOC_SOURCE_FILES ${QT_MOC_HEADERS}) qt5_wrap_ui(FORM_FILES_CPP ${QT_UI_FILES}) -# NOTE! Resources in subfolders must append to QRC_FILES using the following -# statement set( QRC_FILES ${QRC_FILES} -# ${CMAKE_CURRENT_SOURCE_DIR}/Resources/myLibrary.qrc PARENT_SCOPE ) - -set(QRC_FILES ${QRC_FILES} Resources/ResInsight.qrc) - -# Runs RCC on specified files -qt5_add_resources(QRC_FILES_CPP ${QRC_FILES}) - -# Adding resource (RC) files for Windows -if(MSVC) - set(WIN_RESOURCE Resources/ResInsight.rc) -endif() - # ############################################################################## # Create source groups - see also included CMakeLists_files.cmake # ############################################################################## @@ -303,38 +272,20 @@ source_group("ModelVisualization" FILES ${MODEL_VISUALIZATION_FILES}) source_group("SocketInterface" FILES ${SOCKET_INTERFACE_FILES}) source_group("UnitTests" FILES ${UNIT_TEST_FILES}) -# ############################################################################## -# Set up the main executable with its source files -# ############################################################################## +list( + APPEND + ALL_SOURCE_FILES + ${CPP_SOURCES} + ${MOC_SOURCE_FILES} + ${FORM_FILES_CPP} + ${HEADER_FILES} + ${REFERENCED_CMAKE_FILES} + ../ResInsightVersion.cmake + .clang-format + .clang-tidy + Adm/RiaVersionInfo.h.cmake) -# Default behaviour for a Qt application is a console application, resulting in -# a console window always being launced at startup The following statement is -# used to control this behaviour set_target_properties( MY_TARGET PROPERTIES -# LINK_FLAGS_DEBUG "/SUBSYSTEM:WINDOWS") This setting i not honored by Cmake - -# http://public.kitware.com/Bug/view.php?id=14326 We use the following -# workaround described in the bug report ADD_EXECUTABLE(${TARGET_NAME} WIN32 -# ${SRC}) See CMake symbol WIN32_EXECUTABLE for details - -if(MSVC) - set(EXE_FILES WIN32) -elseif(APPLE) - set(EXE_FILES MACOSX_BUNDLE) -endif() -set(EXE_FILES - ${EXE_FILES} - ${CPP_SOURCES} - ${MOC_SOURCE_FILES} - ${FORM_FILES_CPP} - ${QRC_FILES_CPP} - ${WIN_RESOURCE} - ${HEADER_FILES} - ${REFERENCED_CMAKE_FILES} - ../ResInsightVersion.cmake - .clang-format - .clang-tidy - Adm/RiaVersionInfo.h.cmake) - -add_executable(ResInsight ${EXE_FILES}) +add_library(${PROJECT_NAME} OBJECT ${ALL_SOURCE_FILES}) option(RESINSIGHT_ENABLE_PRECOMPILED_HEADERS "Use Precompiled Headers" OFF) mark_as_advanced(FORCE RESINSIGHT_ENABLE_PRECOMPILED_HEADERS) @@ -349,14 +300,14 @@ endif() if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") set_target_properties( - ResInsight + ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch") # Treat warnings as errors if asked to do so if(RESINSIGHT_TREAT_WARNINGS_AS_ERRORS) set_target_properties( - ResInsight + ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch -Werror" @@ -365,7 +316,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") set_target_properties( - ResInsight + ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch -Wno-delete-abstract-non-virtual-dtor -Wno-undefined-var-template -Wno-invalid-source-encoding -Wno-enum-compare -Wno-call-to-pure-virtual-from-ctor-dtor -Wno-unused-variable -Wno-unused-private-field -Wno-unused-lambda-capture -Wno-delete-non-abstract-non-virtual-dtor -Wno-braced-scalar-init -Wno-tautological-constant-out-of-range-compare" @@ -380,7 +331,7 @@ if(MSVC) # Macro redefinition for math constants (M_PI, M_SQRT2 etc) # If possible, the following command is supposed to be the final target - # set_target_properties(ResInsight PROPERTIES COMPILE_FLAGS "/W3 /wd4190 + # set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/W3 /wd4190 # /wd4100 /wd4127") set(BUILD_FLAGS_FOR_MSVC "/wd4190 /wd4100 /wd4127 /wd4245 /wd4005") @@ -399,39 +350,11 @@ if(MSVC) endif() message(STATUS "BUILD_FLAGS_FOR_MSVC ${BUILD_FLAGS_FOR_MSVC}") - set_target_properties(ResInsight PROPERTIES COMPILE_FLAGS - ${BUILD_FLAGS_FOR_MSVC}) + set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS + ${BUILD_FLAGS_FOR_MSVC}) endif() -# ############################################################################## -# Application icon for MacOS X bundle -# ############################################################################## - -if(APPLE) - add_custom_command( - OUTPUT Resources/ResInsight.icns - COMMAND - sips -s format icns ${CMAKE_CURRENT_SOURCE_DIR}/Resources/AppLogo48x48.png - --out ${CMAKE_CURRENT_BINARY_DIR}/Resources/ResInsight.icns - COMMENT Converting application icon) - add_custom_target( - ResInsight-icns - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Resources/ResInsight.icns) - add_dependencies(ResInsight ResInsight-icns) - set_target_properties( - ResInsight PROPERTIES MACOSX_BUNDLE_ICON_FILE - ${CMAKE_CURRENT_BINARY_DIR}/Resources/ResInsight.icns) -endif() - -if (RESINSIGHT_ENABLE_GRPC) - list(APPEND THIRD_PARTY_LIBRARIES ${RESINSIGHT_GRPC_LIBRARIES}) - - if (MSVC) - set_target_properties(ResInsight PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/NODEFAULTLIB:MSVCRTD.lib") - endif() -endif() - # ############################################################################## # Set up libraries and dependent projects to link with # ############################################################################## @@ -444,8 +367,7 @@ set(LINK_LIBRARIES ${OPM_LIBRARIES} ${APP_FWK_LIBRARIES} ${VIZ_FWK_LIBRARIES} - ${RI_LIBRARIES} - ) + ${RI_LIBRARIES}) # According to ivarun this is needed on OpenSuse, and Fedora. See: # https://github.com/OPM/ResInsight/pull/7 @@ -453,15 +375,24 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") list(APPEND EXTERNAL_LINK_LIBRARIES rt) endif() -if (DEFINED GRPC_LIBRARY_DIRS) - target_link_directories(ResInsight PRIVATE ${GRPC_LIBRARY_DIRS}) -endif() +target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARIES} + ${EXTERNAL_LINK_LIBRARIES}) -foreach(LIBRARY ${LINK_LIBRARIES}) - message (STATUS "LIB: ${LIBRARY}") -endforeach() - -target_link_libraries(ResInsight ${LINK_LIBRARIES} ${EXTERNAL_LINK_LIBRARIES}) +target_include_directories( + ${PROJECT_NAME} + PRIVATE ${CMAKE_BINARY_DIR}/Generated + PUBLIC ${CMAKE_SOURCE_DIR}/ApplicationLibCode/Application + ${CMAKE_SOURCE_DIR}/ApplicationLibCode/Application/Tools + ${CMAKE_SOURCE_DIR}/ApplicationLibCode/CommandFileInterface + ${CMAKE_SOURCE_DIR}/ApplicationLibCode/CommandFileInterface/Core + ${CMAKE_SOURCE_DIR}/ApplicationLibCode/FileInterface + ${CMAKE_SOURCE_DIR}/ApplicationLibCode/GeoMech + ${CMAKE_SOURCE_DIR}/ApplicationLibCode/ModelVisualization + ${CMAKE_SOURCE_DIR}/ApplicationLibCode/ProjectDataModel + ${CMAKE_SOURCE_DIR}/ApplicationLibCode/ProjectDataModel/Flow + ${CMAKE_SOURCE_DIR}/ApplicationLibCode/ReservoirDataModel + ${CMAKE_SOURCE_DIR}/ApplicationLibCode/SocketInterface + ${CMAKE_SOURCE_DIR}/ApplicationLibCode/UserInterface) # ############################################################################## # Unity builds @@ -484,401 +415,3 @@ if(RESINSIGHT_ENABLE_UNITY_BUILD) PROPERTIES SKIP_UNITY_BUILD_INCLUSION TRUE) endforeach(fileToExclude) endif() - -# ############################################################################## -# Copy Dlls on MSVC -# ############################################################################## -if(MSVC) - - # Odb Dlls - if(RESINSIGHT_USE_ODB_API) - # Find all the dlls - file(GLOB RI_ALL_ODB_DLLS ${RESINSIGHT_ODB_API_DIR}/lib/*.dll) - - # Strip off the path - foreach(aDLL ${RI_ALL_ODB_DLLS}) - get_filename_component(filenameWithExt ${aDLL} NAME) - list(APPEND RI_ODB_DLLS ${filenameWithExt}) - endforeach(aDLL) - - foreach(aDLL ${RI_ODB_DLLS}) - list(APPEND RI_DLL_FILENAMES ${RESINSIGHT_ODB_API_DIR}/lib/${aDLL}) - endforeach() - endif() - - # HDF5 Dlls - if(RESINSIGHT_FOUND_HDF5) - set(HDF5_DLL_NAMES hdf5 hdf5_cpp szip zlib) - foreach(HDF5_DLL_NAME ${HDF5_DLL_NAMES}) - list(APPEND RI_DLL_FILENAMES - ${RESINSIGHT_HDF5_DIR}/bin/${HDF5_DLL_NAME}.dll) - endforeach(HDF5_DLL_NAME) - endif() - -endif(MSVC) - -# Copy to target directory -foreach(FILE_TO_COPY ${RI_DLL_FILENAMES}) - add_custom_command( - TARGET ResInsight - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE_TO_COPY} - $) - if(_unityTargetName) - add_custom_command( - TARGET ${_unityTargetName} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE_TO_COPY} - $) - endif() -endforeach() - -# Generate Python code in a target that is part of ALL_BUILD and depends on -# ResInsight -if(RESINSIGHT_ENABLE_GRPC) - add_custom_command( - OUTPUT - ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py - COMMAND - ResInsight ARGS --console --generate - ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py - DEPENDS ResInsight - COMMENT - "Generating ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py" - ) - add_custom_target( - ResInsightClassesPy ALL - DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py - ) - add_dependencies(ResInsightClassesPy ResInsight) - -endif(RESINSIGHT_ENABLE_GRPC) - -# ############################################################################## -# Install -# ############################################################################## - -set(RESINSIGHT_LICENSE_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/Adm/LicenseInformation.txt - ${CMAKE_CURRENT_SOURCE_DIR}/Adm/gplLicense.txt) - -# bundle libraries together with private installation -if(RESINSIGHT_PRIVATE_INSTALL) - if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - # tell binary to first attempt to load libraries from its own directory - set(RESINSIGHT_INSTALL_RPATH "\$ORIGIN") - - if(${RESINSIGHT_USE_ODB_API}) - # This is a "hack" to make ResInsight runtime find the ODB so files used - # when compiling. statoil wanted it this way, but we should probbly make a - # different installoptions that does things this way, and really do copy - # them when doing PRIVATE_INSTALL - set(RESINSIGHT_INSTALL_RPATH ${RESINSIGHT_INSTALL_RPATH} - ${RESINSIGHT_ODB_API_DIR}/lib) - endif() - - if(EXISTS ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT}) - # append the external ERT lib root - set(RESINSIGHT_INSTALL_RPATH ${RESINSIGHT_INSTALL_RPATH} - ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT}) - endif() - - # message("RESINSIGHT_INSTALL_RPATH : " "${RESINSIGHT_INSTALL_RPATH}") - - set_target_properties(ResInsight PROPERTIES INSTALL_RPATH - "${RESINSIGHT_INSTALL_RPATH}") - - # bundle Qt5 libraries - option(RESINSIGHT_QT5_BUNDLE_LIBRARIES "Bundle Qt5 libraries" OFF) - mark_as_advanced(FORCE RESINSIGHT_QT5_BUNDLE_LIBRARIES) - if(RESINSIGHT_QT5_BUNDLE_LIBRARIES) - message(STATUS "Bundling of Qt5 libraries is enabled") - - # Get root directory - get_property( - _filepath - TARGET "Qt5::Core" - PROPERTY LOCATION_RELEASE) - get_filename_component(_dir ${_filepath} PATH) - - foreach(qtlib ${QT_LIBRARIES}) - get_target_property(FILE_NAME_FULL_PATH ${qtlib} LOCATION) - message(STATUS "${qtlib} location on disk - ${FILE_NAME_FULL_PATH}") - get_filename_component(FILE_NAME_WE ${FILE_NAME_FULL_PATH} NAME_WE) - message(STATUS "${FILE_NAME_WE} name without ext - ${FILE_NAME_WE}") - - list(APPEND QT_INSTALL_FILES_WITHOUT_EXTENSION ${FILE_NAME_WE}) - endforeach() - - # XcbQpa is used by libXcb.so required by platform plugin xcb - list(APPEND QT_INSTALL_FILES_WITHOUT_EXTENSION libQt5XcbQpa libQt5DBus) - - # append icu - list(APPEND QT_INSTALL_FILES_WITHOUT_EXTENSION libicu*) - - foreach(installfile ${QT_INSTALL_FILES_WITHOUT_EXTENSION}) - file(GLOB FILE_AND_SYMLINKS ${_dir}/${installfile}.so*) - install( - FILES ${FILE_AND_SYMLINKS} - DESTINATION ${RESINSIGHT_INSTALL_FOLDER} - OPTIONAL) - endforeach() - - set(QT_PLUGIN_PATH "$ENV{QT_PLUGIN_PATH}") - if(QT_PLUGIN_PATH STREQUAL "") - set(QT_PLUGIN_PATH "${_dir}/qt5/plugins/") - endif() - message(STATUS "QT_PLUGIN_PATH : ${QT_PLUGIN_PATH}") - - # include platform files - install(FILES ${QT_PLUGIN_PATH}/platforms/libqxcb.so - DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/platforms/) - install(FILES ${QT_PLUGIN_PATH}/imageformats/libqsvg.so - DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/imageformats/) - install(FILES ${QT_PLUGIN_PATH}/iconengines/libqsvgicon.so - DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/iconengines/) - - # Required by xcb module used to create OpenGL widgets - install( - FILES ${QT_PLUGIN_PATH}/xcbglintegrations/libqxcb-egl-integration.so - DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/plugins/xcbglintegrations/ - OPTIONAL) - install( - FILES ${QT_PLUGIN_PATH}/xcbglintegrations/libqxcb-glx-integration.so - DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/plugins/xcbglintegrations/ - OPTIONAL) - - endif(RESINSIGHT_QT5_BUNDLE_LIBRARIES) - - endif() - - if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") - # put a .exe.local file in the target directory to pick up DLLs from there - install( - CODE "exec_program (\"${CMAKE_COMMAND}\" ARGS -E touch \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}ResInsight${CMAKE_EXECUTABLE_SUFFIX}.local)" - ) - - set(RESINSIGHT_FILES ${RI_DLL_FILENAMES}) - - if(WIN32 - AND TARGET Qt5::qmake - AND NOT TARGET Qt5::windeployqt) - get_target_property(_qt5_qmake_location Qt5::qmake IMPORTED_LOCATION) - - execute_process( - COMMAND "${_qt5_qmake_location}" -query QT_INSTALL_PREFIX - RESULT_VARIABLE return_code - OUTPUT_VARIABLE qt5_install_prefix - OUTPUT_STRIP_TRAILING_WHITESPACE) - - set(imported_location "${qt5_install_prefix}/bin/windeployqt.exe") - - if(EXISTS ${imported_location}) - add_executable(Qt5::windeployqt IMPORTED) - - set_target_properties(Qt5::windeployqt PROPERTIES IMPORTED_LOCATION - ${imported_location}) - endif() - endif() - - # TODO(wjwwood): find a way to make this optional or to run without - # "deploying" the necessary dlls and stuff to the bin folder. see: - # https://stackoverflow.com/questions/41193584/deploy-all-qt-dependencies-when-building#41199492 - if(TARGET Qt5::windeployqt) - # execute windeployqt in a tmp directory after build - add_custom_command( - TARGET ResInsight - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E remove_directory - "${CMAKE_CURRENT_BINARY_DIR}/windeployqt" - COMMAND set PATH=%PATH%$${qt5_install_prefix}/bin - COMMAND - Qt5::windeployqt --no-compiler-runtime --no-system-d3d-compiler - --no-quick-import --no-translations --verbose 0 --dir - "${CMAKE_CURRENT_BINARY_DIR}/windeployqt" - "$/$") - - # Qt DLLs - message(STATUS "Creating post build step for copying Qt DLLs") - - # copy all files in the windeployqt directory to the installation - # directory - add_custom_command( - TARGET ResInsight - POST_BUILD - COMMAND - ${CMAKE_COMMAND} -E copy_directory - "${CMAKE_CURRENT_BINARY_DIR}/windeployqt/" - $) - - if(_unityTargetName) - foreach(qtlib ${QT_LIBRARIES}) - add_custom_command( - TARGET ${_unityTargetName} - POST_BUILD - COMMAND - ${CMAKE_COMMAND} -E copy_if_different $ - $) - endforeach(qtlib) - endif(_unityTargetName) - - # copy deployment directory during installation - install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/windeployqt/" - DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) - endif() - - # install GRPC-related DLLs and resinsight_classes.py - if(RESINSIGHT_ENABLE_GRPC) - set(GRPC_DLL_NAMES libprotobuf cares zlib1 abseil_dll) - foreach(dllname ${GRPC_DLL_NAMES}) - list(APPEND RESINSIGHT_FILES - $/${dllname}.dll) - endforeach(dllname ${GRPC_DLL_NAMES}) - install( - FILES - ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py - DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/Python/rips/generated) - endif() - - # OpenSSL - option(RESINSIGHT_BUNDLE_OPENSSL "Bundle the OpenSSL binary DLLs" OFF) - mark_as_advanced(FORCE RESINSIGHT_BUNDLE_OPENSSL) - - if(RESINSIGHT_BUNDLE_OPENSSL) - find_package(OpenSSL) - if(OPENSSL_FOUND) - message("OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}") - set(OPENSSL_BIN_DIR ${OPENSSL_INCLUDE_DIR}) - string(REPLACE "include" "bin" OPENSSL_BIN_DIR ${OPENSSL_BIN_DIR}) - message("OpenSSL binary dir: ${OPENSSL_BIN_DIR}") - - install(FILES ${OPENSSL_BIN_DIR}/libcrypto-1_1-x64.dll - DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) - install(FILES ${OPENSSL_BIN_DIR}/libssl-1_1-x64.dll - DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) - endif(OPENSSL_FOUND) - endif(RESINSIGHT_BUNDLE_OPENSSL) - - # Boost - find_package(Boost REQUIRED filesystem system) - - get_property( - _filepath - TARGET "Boost::filesystem" - PROPERTY LOCATION_RELEASE) - message("_filepath: ${_filepath}") - - # The location of Boost is based on the file structure as installed by vcpkg - # The DLLs are located in the /bin folder - get_filename_component(_dir ${_filepath} PATH) - string(REPLACE "/lib" "/bin" _dir ${_dir}) - - # Use file clobbing, as the dlls are decorated with local compiler info - file(GLOB RI_BOOST_DLLS ${_dir}/boost_filesystem*.dll) - - message("RI_BOOST_DLLS : ${RI_BOOST_DLLS}") - - install( - FILES ${RI_BOOST_DLLS} - DESTINATION ${RESINSIGHT_INSTALL_FOLDER} - CONFIGURATIONS Release RelWithDebInfo) - - # CRT - set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP ON) - set(CMAKE_INSTALL_OPENMP_LIBRARIES ON) - include(InstallRequiredSystemLibraries) - install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} - DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) - - endif() - - set(RESINSIGHT_FILES ${RESINSIGHT_FILES} ${RESINSIGHT_LICENSE_FILES}) - - install(TARGETS ResInsight DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) - - install(FILES ${RESINSIGHT_FILES} DESTINATION ${RESINSIGHT_INSTALL_FOLDER}) - - if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - install( - FILES ${CMAKE_CURRENT_SOURCE_DIR}/resinsight - DESTINATION ${RESINSIGHT_INSTALL_FOLDER} - PERMISSIONS - OWNER_READ - OWNER_WRITE - OWNER_EXECUTE - GROUP_READ - GROUP_EXECUTE - WORLD_READ - WORLD_EXECUTE) - endif() - -else(RESINSIGHT_PRIVATE_INSTALL) - # binaries go in /usr/bin - install(TARGETS ResInsight DESTINATION bin) - # license go in /usr/share/doc - install(FILES ${RESINSIGHT_LICENSE_FILES} DESTINATION share/doc/ResInsight) - # no bundled libraries for system install application icon - install( - FILES ${CMAKE_CURRENT_SOURCE_DIR}/Resources/AppLogo48x48.png - DESTINATION share/icons/hicolor/48x48/apps - RENAME ResInsight.png) - # desktop environment icon; remember to call `update-desktop-database` in - # package post-install scripts - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/resinsight.desktop.in - ${CMAKE_CURRENT_BINARY_DIR}/resinsight.desktop @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/resinsight.desktop - DESTINATION share/applications) -endif(RESINSIGHT_PRIVATE_INSTALL) - -# ############################################################################## -# Installation packaging -# ############################################################################## - -if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") - set(CPACK_GENERATOR TGZ) -elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows") - set(CPACK_GENERATOR ZIP) -endif() - -# Handling of system name on Windows -if(${CMAKE_SYSTEM_NAME} MATCHES Windows) - if(CMAKE_CL_64) - set(CPACK_SYSTEM_NAME win64) - else() - set(CPACK_SYSTEM_NAME win32) - endif() -endif() - -# Append el5 when compiled on RHEL5 and el6 if compiled on RHEL6 -string(REGEX MATCH "el[6,7,8]?" RESINSIGHT_RHEL_SYSTEM_NAME ${CMAKE_SYSTEM}) - -set(RESINSIGHT_PACKAGE_NAME "ResInsight") - -set(RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}-${STRPRODUCTVER}") - -if(NOT ${RESINSIGHT_ODB_API_DIR} EQUAL "") - set(RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}_odb") -endif() - -if(NOT ${OCTAVE_VERSION_STRING} EQUAL "") - set(RESINSIGHT_PACKAGE_NAME - "${RESINSIGHT_PACKAGE_NAME}_oct-${OCTAVE_VERSION_STRING}") -endif() - -if(RESINSIGHT_BUNDLE_OPENSSL AND OPENSSL_FOUND) - set(RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}_openssl") -endif() - -# Append el5 when compiled on RHEL5 and el6 if compiled on RHEL6 -if(NOT "${RESINSIGHT_RHEL_SYSTEM_NAME}" STREQUAL "") - set(RESINSIGHT_PACKAGE_NAME - "${RESINSIGHT_PACKAGE_NAME}_${RESINSIGHT_RHEL_SYSTEM_NAME}") -else() - set(RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}_${CPACK_SYSTEM_NAME}") -endif() - -# message("RESINSIGHT_PACKAGE_NAME : " ${RESINSIGHT_PACKAGE_NAME}) -set(CPACK_PACKAGE_FILE_NAME ${RESINSIGHT_PACKAGE_NAME}) - -include(CPack) diff --git a/ApplicationLibCode/Commands/ApplicationCommands/RicEditPreferencesFeature.cpp b/ApplicationLibCode/Commands/ApplicationCommands/RicEditPreferencesFeature.cpp index 78ad6fc141..b56c48bebc 100644 --- a/ApplicationLibCode/Commands/ApplicationCommands/RicEditPreferencesFeature.cpp +++ b/ApplicationLibCode/Commands/ApplicationCommands/RicEditPreferencesFeature.cpp @@ -75,7 +75,6 @@ void RicEditPreferencesFeature::onActionTriggered( bool isChecked ) // Write preferences using QSettings and apply them to the application app->applyPreferences(); app->applyGuiPreferences( oldPreferences.get(), defaultFontObjects ); - app->updateGrpcServer(); } else { diff --git a/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.cpp b/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.cpp index 610270036d..c4bc9d40ec 100644 --- a/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.cpp +++ b/ApplicationLibCode/Commands/ApplicationCommands/RicHelpFeatures.cpp @@ -126,22 +126,6 @@ void RicHelpAboutFeature::onActionTriggered( bool isChecked ) dlg.addVersionEntry( " ", txt ); } -#ifdef ENABLE_GRPC - RiaGrpcServer* grpcServer = RiaApplication::instance()->grpcServer(); - if ( grpcServer && grpcServer->isRunning() ) - { - dlg.addVersionEntry( " ", - QString( " Python Script Server available and running at port %1" ) - .arg( grpcServer->portNumber() ) ); - } - else - { - dlg.addVersionEntry( " ", QString( " Python Script Server available but currently disabled in preferences" ) ); - } -#else - dlg.addVersionEntry( " ", " gRPC disabled" ); -#endif - if ( RiaApplication::enableDevelopmentFeatures() ) { QString vendor( "Unknown" ); diff --git a/ApplicationLibCode/Commands/CMakeLists.txt b/ApplicationLibCode/Commands/CMakeLists.txt index 9b2a47b5e5..f21adbadf0 100644 --- a/ApplicationLibCode/Commands/CMakeLists.txt +++ b/ApplicationLibCode/Commands/CMakeLists.txt @@ -60,11 +60,6 @@ target_include_directories( ${CMAKE_SOURCE_DIR}/ThirdParty/custom-opm-common/generated-opm-common ${CMAKE_SOURCE_DIR}/ThirdParty/custom-opm-common/opm-common) -# Before cmake 3.12 OBJECT libraries could not use the target_link_libraries -# command, So we need to set the POSITION_INDEPENDENT_CODE option manually -set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON) - -# Use this code when 3.12 can be used as minimum version of cmake set(LINK_LIBRARIES LibCore cafCommand @@ -79,6 +74,6 @@ set(LINK_LIBRARIES ${QT_LIBRARIES} Eigen3::Eigen) -target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} PRIVATE ${LINK_LIBRARIES}) source_group("" FILES ${PROJECT_FILES}) diff --git a/ApplicationLibCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.cpp b/ApplicationLibCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.cpp index 98ba39ea38..4c00b0a120 100644 --- a/ApplicationLibCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.cpp +++ b/ApplicationLibCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.cpp @@ -45,6 +45,7 @@ #include #include #include +#include #include CAF_CMD_SOURCE_INIT( RicSnapshotAllViewsToFileFeature, "RicSnapshotAllViewsToFileFeature" ); diff --git a/ApplicationLibCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.h b/ApplicationLibCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.h index 1a2b9e8a21..07e2f81dcb 100644 --- a/ApplicationLibCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.h +++ b/ApplicationLibCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.h @@ -15,13 +15,10 @@ // for more details. // ///////////////////////////////////////////////////////////////////////////////// - #pragma once #include "cafCmdFeature.h" -#include - //================================================================================================== /// //================================================================================================== diff --git a/ApplicationLibCode/ProjectDataModel/RimAbstractPlotCollection.h b/ApplicationLibCode/ProjectDataModel/RimAbstractPlotCollection.h index f6785dcfae..eb76b492b4 100644 --- a/ApplicationLibCode/ProjectDataModel/RimAbstractPlotCollection.h +++ b/ApplicationLibCode/ProjectDataModel/RimAbstractPlotCollection.h @@ -57,7 +57,7 @@ public: void addPlot( RimPlotType* plot ) { insertPlot( plot, plotCount() ); } virtual void insertPlot( RimPlotType* plot, size_t index ) = 0; virtual void removePlot( RimPlotType* plot ) = 0; - void removeRimPlot( RimPlot* rimPlot ) + void removeRimPlot( RimPlot* rimPlot ) override { auto typedPlot = dynamic_cast( rimPlot ); if ( typedPlot ) diff --git a/ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_names_and_values_mismatch.roff b/ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_names_and_values_mismatch.roff old mode 100755 new mode 100644 diff --git a/ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_names_missing.roff b/ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_names_missing.roff old mode 100755 new mode 100644 diff --git a/ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_values_integer_wrong.roff b/ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_values_integer_wrong.roff old mode 100755 new mode 100644 diff --git a/ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_values_missing.roff b/ApplicationLibCode/UnitTests/TestData/RifRoffReader/code_values_missing.roff old mode 100755 new mode 100644 diff --git a/ApplicationLibCode/UnitTests/TestData/RifRoffReader/facies_info.roff b/ApplicationLibCode/UnitTests/TestData/RifRoffReader/facies_info.roff old mode 100755 new mode 100644 diff --git a/CMakeLists.txt b/CMakeLists.txt index b6fde0b548..760aaf0630 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,6 +81,20 @@ include (ResInsightVersion.cmake) ################################################################################ find_package(Octave) +################################################################################ +# Grpc +################################################################################ +option(RESINSIGHT_ENABLE_GRPC "Enable the gRPC scripting framework" OFF) +if(RESINSIGHT_ENABLE_GRPC) + option( + RESINSIGHT_GRPC_DOWNLOAD_PYTHON_MODULE + "Download the gRPC python modules to enable generation of Python interface" + ON) + option(RESINSIGHT_GRPC_BUNDLE_PYTHON_MODULE + "Bundle the gRPC python modules into the install folder" OFF) + add_definitions(-DENABLE_GRPC) +endif() + ################################################################################ # Unity Build ################################################################################ @@ -546,9 +560,13 @@ endif (RESINSIGHT_HDF5_BUNDLE_LIBRARIES) ################################################################################ -# Application +# Application ################################################################################ -add_subdirectory(ApplicationCode) +add_subdirectory(ApplicationLibCode) +if(RESINSIGHT_ENABLE_GRPC) + add_subdirectory(GrpcInterface) +endif() +add_subdirectory(ApplicationExeCode) if (OCTAVE_MKOCTFILE) message (STATUS "Adding OctavePlugin library") diff --git a/GrpcInterface/CMakeLists.txt b/GrpcInterface/CMakeLists.txt index b5c31bc35b..0d3feb5946 100644 --- a/GrpcInterface/CMakeLists.txt +++ b/GrpcInterface/CMakeLists.txt @@ -23,35 +23,47 @@ endif() add_definitions(-D_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING) +find_package( + Qt5 + COMPONENTS Core Network + QUIET) + +set(QT_LIBRARIES + Qt5::Core + Qt5::Network) + set(SOURCE_GROUP_HEADER_FILES - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcServer.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcHelper.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcCallbacks.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcCallbacks.inl - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcServiceInterface.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcCaseService.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcSimulationWellService.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcGridService.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcProjectService.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcCommandService.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcAppService.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcPropertiesService.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcNNCPropertiesService.h - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcPdmObjectService.h) + RiaGrpcServer.h + RiaGrpcHelper.h + RiaGrpcCallbacks.h + RiaGrpcCallbacks.inl + RiaGrpcServiceInterface.h + RiaGrpcCaseService.h + RiaGrpcSimulationWellService.h + RiaGrpcGridService.h + RiaGrpcProjectService.h + RiaGrpcCommandService.h + RiaGrpcAppService.h + RiaGrpcPropertiesService.h + RiaGrpcNNCPropertiesService.h + RiaGrpcPdmObjectService.h + RiaGrpcApplicationInterface.h + ) set(SOURCE_GROUP_SOURCE_FILES - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcServer.cpp - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcHelper.cpp - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcServiceInterface.cpp - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcCaseService.cpp - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcSimulationWellService.cpp - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcGridService.cpp - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcProjectService.cpp - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcCommandService.cpp - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcAppService.cpp - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcPropertiesService.cpp - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcNNCPropertiesService.cpp - ${CMAKE_CURRENT_LIST_DIR}/RiaGrpcPdmObjectService.cpp) + RiaGrpcServer.cpp + RiaGrpcHelper.cpp + RiaGrpcServiceInterface.cpp + RiaGrpcCaseService.cpp + RiaGrpcSimulationWellService.cpp + RiaGrpcGridService.cpp + RiaGrpcProjectService.cpp + RiaGrpcCommandService.cpp + RiaGrpcAppService.cpp + RiaGrpcPropertiesService.cpp + RiaGrpcNNCPropertiesService.cpp + RiaGrpcPdmObjectService.cpp + RiaGrpcApplicationInterface.cpp) # Find Protobuf installation Looks for protobuf-config.cmake file installed by # Protobuf's cmake installation. @@ -71,12 +83,11 @@ if(Protobuf_FOUND) set(_GRPC_GRPCPP_UNSECURE gRPC::grpc++_unsecure gRPC::grpc_unsecure gRPC::gpr) set(_GRPC_CPP_PLUGIN_EXECUTABLE $) - set(GRPC_LIBRARIES ${_GRPC_GRPCPP_UNSECURE} ${_PROTOBUF_LIBPROTOBUF}) + set(GRPC_LINK_LIBRARIES ${_GRPC_GRPCPP_UNSECURE} ${_PROTOBUF_LIBPROTOBUF}) set_target_properties( - ${GRPC_LIBRARIES} PROPERTIES MAP_IMPORTED_CONFIG_MINSIZEREL RELEASE + ${GRPC_LINK_LIBRARIES} PROPERTIES MAP_IMPORTED_CONFIG_MINSIZEREL RELEASE MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE) - set(RESINSIGHT_GRPC_LIBRARIES ${GRPC_LIBRARIES} PARENT_SCOPE) else() message(STATUS "Using RESINSIGHT_GRPC_INSTALL_PREFIX=${RESINSIGHT_GRPC_INSTALL_PREFIX}") set(RESINSIGHT_GRPC_INSTALL_PREFIX @@ -110,22 +121,18 @@ else() "${RESINSIGHT_GRPC_INSTALL_PREFIX}/tools/grpc/grpc_cpp_plugin") endif() include_directories(AFTER ${GRPC_INCLUDE_DIRS}) - set(RESINSIGHT_GRPC_LIBRARIES ${GRPC_LINK_LIBRARIES} PARENT_SCOPE) - #list(APPEND RESINSIGHT_GRPC_LIBRARIES upb) endif() set(_LINK_LIBRARIES ${QT_LIBRARIES} + ${GRPC_LINK_LIBRARIES} LibCore + CommonCode cafCommand - cafPdmCvf + cafCommandFeatures + cafProjectDataModel cafPdmScripting - cafTensor - cafViewer - cafVizExtensions - ecl - nightcharts - qwt) + ApplicationLibCode) # Proto files set(PROTO_FILES @@ -140,13 +147,19 @@ set(PROTO_FILES "Properties" "Grid") -set(GRPC_PYTHON_SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}/Python") +set(GRPC_PYTHON_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Python") add_custom_target(PipInstall) +if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE) + message(STATUS "Using Python Executable: ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE}") +else() + message(STATUS "RESINSIGHT_GRPC_PYTHON_EXECUTABLE not specified. Will not install Python client code") +endif() + foreach(proto_file ${PROTO_FILES}) get_filename_component( - rips_proto "${CMAKE_CURRENT_LIST_DIR}/GrpcProtos/${proto_file}.proto" + rips_proto "GrpcProtos/${proto_file}.proto" ABSOLUTE) get_filename_component(rips_proto_path "${rips_proto}" PATH) @@ -170,8 +183,6 @@ foreach(proto_file ${PROTO_FILES}) set(rips_grpc_python "rips/generated/${proto_file}_pb2_grpc.py") if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE) - message( - STATUS "Using Python Executable: ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE}") add_custom_command( OUTPUT "${GRPC_PYTHON_SOURCE_PATH}/${rips_proto_python}" "${GRPC_PYTHON_SOURCE_PATH}/${rips_grpc_python}" @@ -185,11 +196,6 @@ foreach(proto_file ${PROTO_FILES}) VERBATIM) list(APPEND GRPC_PYTHON_GENERATED_SOURCES ${rips_proto_python} ${rips_grpc_python}) - else() - message( - STATUS - "RESINSIGHT_GRPC_PYTHON_EXECUTABLE not specified. Will not install Python client code" - ) endif() list(APPEND GRPC_HEADER_FILES ${rips_proto_hdrs} ${rips_grpc_hdrs}) @@ -199,7 +205,7 @@ foreach(proto_file ${PROTO_FILES}) endforeach(proto_file) if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE) - configure_file(${CMAKE_SOURCE_DIR}/ApplicationCode/Adm/RiaVersionInfo.py.cmake + configure_file(${CMAKE_SOURCE_DIR}/ApplicationLibCode/Adm/RiaVersionInfo.py.cmake ${GRPC_PYTHON_SOURCE_PATH}/rips/generated/RiaVersionInfo.py) configure_file(${GRPC_PYTHON_SOURCE_PATH}/setup.py.cmake ${GRPC_PYTHON_SOURCE_PATH}/setup.py) @@ -273,9 +279,15 @@ add_library( ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} ${GRPC_HEADER_FILES} ${GRPC_CPP_SOURCES}) -target_include_directories(${PROJECT_NAME} PUBLIC ${GRPC_INCLUDE_DIRS}) +target_include_directories(${PROJECT_NAME} PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR} + PRIVATE + ${GRPC_INCLUDE_DIRS} + ${CMAKE_BINARY_DIR}/Generated +) + target_link_directories(${PROJECT_NAME} PUBLIC ${GRPC_LIBRARY_DIRS}) -target_link_libraries(${PROJECT_NAME} PUBLIC ${_LINK_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} PRIVATE ${_LINK_LIBRARIES}) if(MSVC) # GRPC generates a lot of harmless warnings on MSVC @@ -322,14 +334,4 @@ if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE) DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/Python) endif() -source_group( - "GrpcInterface" - FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} - ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.cmake) -source_group("GrpcInterface\\GrpcProtos" FILES ${GRPC_PROTO_FILES_FULL_PATH}) -if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE) - source_group( - TREE ${GRPC_PYTHON_SOURCE_PATH} - FILES ${GRPC_PYTHON_SOURCES_FULL_PATH} - PREFIX "GrpcInterface\\Python") -endif() +source_group("GrpcProtos" FILES ${GRPC_PROTO_FILES_FULL_PATH}) diff --git a/GrpcInterface/Python/rips/tests/dataroot.py b/GrpcInterface/Python/rips/tests/dataroot.py index 48680eca32..20c970a8f0 100644 --- a/GrpcInterface/Python/rips/tests/dataroot.py +++ b/GrpcInterface/Python/rips/tests/dataroot.py @@ -1,3 +1,3 @@ # The path here is intended to be used when pytest is launced from the source tree of the ResInsight repository # This enables use of test datasets from the TestModels folder -PATH = "../../../../TestModels" +PATH = "../../../TestModels" diff --git a/GrpcInterface/RiaGrpcAppService.cpp b/GrpcInterface/RiaGrpcAppService.cpp index 7c7d5da98e..17556b510e 100644 --- a/GrpcInterface/RiaGrpcAppService.cpp +++ b/GrpcInterface/RiaGrpcAppService.cpp @@ -17,11 +17,13 @@ ////////////////////////////////////////////////////////////////////////////////// #include "RiaGrpcAppService.h" +#include "RiaApplication.h" #include "RiaGrpcCallbacks.h" #include "RiaGrpcServer.h" -#include "RiaGuiApplication.h" #include "RiaVersionInfo.h" +#include + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -49,7 +51,7 @@ grpc::Status RiaGrpcAppService::GetRuntimeInfo( grpc::ServerContext* context, const rips::Empty* request, rips::RuntimeInfo* reply ) { rips::ApplicationTypeEnum appType = rips::CONSOLE_APPLICATION; - if ( RiaGuiApplication::isRunning() ) + if ( dynamic_cast(RiaApplication::instance())) { appType = rips::GUI_APPLICATION; } diff --git a/GrpcInterface/RiaGrpcApplicationInterface.cpp b/GrpcInterface/RiaGrpcApplicationInterface.cpp new file mode 100644 index 0000000000..c7b7881d2d --- /dev/null +++ b/GrpcInterface/RiaGrpcApplicationInterface.cpp @@ -0,0 +1,110 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2021- Equinor ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#include "RiaGrpcApplicationInterface.h" + +#include "RiaPreferences.h" + +#include "cvfProgramOptions.h" + +#include + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RiaGrpcApplicationInterface::initializeGrpcServer( const cvf::ProgramOptions& progOpt ) +{ + if ( !RiaPreferences::current()->enableGrpcServer() ) return false; + + int defaultPortNumber = RiaPreferences::current()->defaultGrpcPortNumber(); + bool fixedPort = false; + if ( cvf::Option o = progOpt.option( "server" ) ) + { + if ( o.valueCount() == 1 ) + { + defaultPortNumber = o.value( 0 ).toInt( defaultPortNumber ); + fixedPort = true; + } + } + int portNumber = defaultPortNumber; + if ( !fixedPort ) + { + portNumber = RiaGrpcServer::findAvailablePortNumber( defaultPortNumber ); + } + m_grpcServer = std::make_unique( portNumber ); + return true; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaGrpcApplicationInterface::launchGrpcServer() +{ + m_grpcServer->runInThread(); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +RiaGrpcServer* RiaGrpcApplicationInterface::grpcServer() const +{ + return m_grpcServer.get(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QProcessEnvironment RiaGrpcApplicationInterface::grpcProcessEnvironment() const +{ + QProcessEnvironment penv = QProcessEnvironment::systemEnvironment(); + + penv.insert( "RESINSIGHT_GRPC_PORT", QString( "%1" ).arg( m_grpcServer->portNumber() ) ); + penv.insert( "RESINSIGHT_EXECUTABLE", QCoreApplication::applicationFilePath() ); + + QStringList ripsLocations; + QString separator; +#ifdef WIN32 + ripsLocations << QCoreApplication::applicationDirPath() + "\\Python" + << QCoreApplication::applicationDirPath() + "\\..\\..\\Python"; + separator = ";"; + +#else + ripsLocations << QCoreApplication::applicationDirPath() + "/Python" + << QCoreApplication::applicationDirPath() + "/../../Python"; + separator = ":"; +#endif + penv.insert( "PYTHONPATH", + QString( "%1%2%3" ).arg( penv.value( "PYTHONPATH" ) ).arg( separator ).arg( ripsLocations.join( separator ) ) ); + + return penv; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int RiaGrpcApplicationInterface::processRequests() +{ + if ( RiaGrpcServer::receivedExitRequest() ) + { + m_grpcServer->quit(); + return -1; + } + + size_t requestsProcessed = m_grpcServer->processAllQueuedRequests(); + return static_cast(requestsProcessed); +} diff --git a/GrpcInterface/RiaGrpcApplicationInterface.h b/GrpcInterface/RiaGrpcApplicationInterface.h new file mode 100644 index 0000000000..be38aeefb2 --- /dev/null +++ b/GrpcInterface/RiaGrpcApplicationInterface.h @@ -0,0 +1,44 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) 2021- Equinor ASA +// +// ResInsight is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. +// +// See the GNU General Public License at +// for more details. +// +///////////////////////////////////////////////////////////////////////////////// +#pragma once + +#include "RiaGrpcServer.h" + +#include + +namespace cvf +{ +class ProgramOptions; +} + +class QProcessEnvironment; + +class RiaGrpcApplicationInterface +{ +public: + bool initializeGrpcServer( const cvf::ProgramOptions& progOpt ); + void launchGrpcServer(); + + RiaGrpcServer* grpcServer() const; + + QProcessEnvironment grpcProcessEnvironment() const; + int processRequests(); + +protected: + std::unique_ptr m_grpcServer; +}; diff --git a/GrpcInterface/RiaGrpcPdmObjectService.h b/GrpcInterface/RiaGrpcPdmObjectService.h index 7a41fc7693..2b41195f39 100644 --- a/GrpcInterface/RiaGrpcPdmObjectService.h +++ b/GrpcInterface/RiaGrpcPdmObjectService.h @@ -30,6 +30,7 @@ class PdmProxyFieldHandle; struct AbstractDataHolder { + virtual ~AbstractDataHolder() = default; virtual size_t dataCount() const = 0; virtual size_t dataSizeOf() const = 0; virtual void reserveReplyStorage( rips::PdmObjectGetterReply* reply ) const = 0; diff --git a/ThirdParty/custom-opm-common/CMakeLists.txt b/ThirdParty/custom-opm-common/CMakeLists.txt index 92c1b26c43..9a3d0fe3ad 100644 --- a/ThirdParty/custom-opm-common/CMakeLists.txt +++ b/ThirdParty/custom-opm-common/CMakeLists.txt @@ -21,6 +21,7 @@ endif(MSVC) project (custom-opm-common) +find_package(Boost) include_directories( opm-common @@ -103,7 +104,7 @@ if(RESINSIGHT_ENABLE_UNITY_BUILD) endif() -find_path(BOOST_SPIRIT_INCLUDE_DIRS "boost/spirit.hpp") +find_path(BOOST_SPIRIT_INCLUDE_DIRS "boost/spirit.hpp" HINTS ${Boost_INCLUDE_DIRS}) target_link_libraries(custom-opm-common ${ADDITIONAL_LINK_LIBRARIES}