mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-24 22:27:55 -05:00
When several perforation intervals cut the same cell, the completion number was taken from the first contribution, which depended on the order events were applied. Unrelated event changes (e.g. group tree members) could then change COMPLUMP numbers on boundary cells. Pick the number with the largest summed MD overlap in the cell, with ties going to the lowest number. Also use stable_sort for same-date events so they keep file order.
400 lines
18 KiB
CMake
400 lines
18 KiB
CMake
# ResInsight unit tests
|
|
|
|
if(MSVC)
|
|
# TARGET_RUNTIME_DLLS requires 3.21
|
|
cmake_minimum_required(VERSION 3.21)
|
|
endif(MSVC)
|
|
|
|
set(SOURCE_UNITTEST_FILES
|
|
${CMAKE_CURRENT_LIST_DIR}/cvfGeometryTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/Ert-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigModelPaddingSettings-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigPadModel-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigSimulationInputTool-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigBoundingBoxIjk-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigContourMapGrid-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigEclipseContourMapProjection-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifcCommandCore-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcFieldSerialization-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifEclipseInputFileTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifEclipseOutputFileTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifOpmFlowDeckFile-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifReaderEclipseOutput-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifReaderOpmCommon-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifOpmCommonFlowDiagGridSource-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifReaderEclipseSummary-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigActiveCellInfo-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigCaseCellResultsData-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigEclipseCaseDataTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigEclipseCrossPlotDataExtractor-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigEclipseResultTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigEnsembleFractureStatisticsCalculator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigFlowDiagResults-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigMobilePoreVolumeResultCalculator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigSgasResultCalculator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigPorvSoilSgasResultCalculator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigReservoir-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigMainGridFaults-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigMainGridSearchTree-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigResdataGridConverter-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigGridExportAdapter-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigNonUniformRefinement-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigNestedHybridGridReconstructor-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigStatisticsMath-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigStimPlanModelTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigStimPlanFractureDefinition-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigWellPathIntersectionTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimHistogramDataSource-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimPlotAxisTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimWellLogExtractionCurveImpl-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RivAnnotationTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RivNamedVisualizationModels-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RivPipeGeometryGenerator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RivIjkIntersectionGeometryGenerator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RivSingleCellPartGenerator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RivTernaryScalarMapper-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/ScalarMapper-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/WellPathAsciiFileReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/opm-flowdiagnostics-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigTofAccumulatedPhaseFractionsCalculator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigContourMapPeakFinder-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/HDF5FileReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/HDF5FileWriter-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigCellGeometryTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigHexIntersectionTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/ObservedDataParser-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RicExpressionParser-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiuPlotUpdater-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiuQwtLinearScaleEngine-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiuSummaryVectorDescriptionMap-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/FixedWidthDataParser-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigTimeCurveHistoryMerger-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/ListKeywordsForObjectsAndFields-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaProjectFileTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifElementPropertyTableReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimRelocatePath-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigTransmissibilityCondenser-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaEclipseUnitTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaTextFileCompare-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifCaseRealizationParametersReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigWellLogExtractor-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigWellPath-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigWellPathGeometryTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifEclipseSummaryAddress-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaTimeHistoryCurveTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/SolveSpaceSolver-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaPolyArcLineSampler-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifTextDataTableFormatter-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaWeightedMean-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaMedianCalculator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaWeightedGeometricMeanCalculator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaWeightedHarmonicMeanCalculator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaCellDividingTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaFilePathTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/Intersect-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifPerforationIntervalReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimWellPathCompletions-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimWellPathFracture-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimWellPathValve-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimWellPathGeometryDef-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimRftCrossPlotTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimWellRftPlot-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimWellTargetMapping-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimWorkflowDescribeTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimWorkflowVec3Binding-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimDataFilterCollection-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimEclipseContourMapProjection-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimIntersectionCollection-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimDockWindowController-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimFilterInViewCollection-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCaseCollection-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCaseMainCollection-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimSummaryTimeAxisProperties-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimDeltaSummaryEnsemble-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimSummaryEnsemble-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlot-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimEnsembleCurveFilter-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifActiveCellsReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifCsvDataTableFormatter-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaSummaryAddressAnalyzer-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaStdStringTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaStringPool-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaInterpolationTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifWellMeasurementReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaDateStringParser-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaQDateTimeTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigHexGradientTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifSurfaceImporter-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifFormationNamesReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifFormationNamesFileParser-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifWellPathFormationReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigWellPathFormations-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifCsvHtmlTableTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifRoffReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifRoffWriter-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifRoffFileTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifElasticPropertiesReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigStatisticsTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifStimPlanXmlReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifThermalFractureReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigWellPathGeometryExporter-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifStimPlanModelDeviationFrkExporter-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifSummaryDataReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigSlice2D-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigConvexHull-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigSurfaceResampler-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigSurfaceStatisticsCalculator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/StructGridInterface-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/opm-summary-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifEclipseTextFileReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaSummaryStringTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimCurveStyleSettings-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimCurveStyleRules-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaVariableMapper-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifPressureDepthTextFileReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifRevealCsvSectionSummaryReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifRevealCsvSummaryReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifStimPlanCsvSummaryReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaEnsembleNameTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigDeclineCurveCalculator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifReaderFmuRft-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifRftSegment-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimSummaryRegressionAnalysisCurve-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimWellLogCalculatedCurve-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigWellLogCurveData-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaNumericalTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/opm-import-well-data-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifInpExportTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifGridCalculationIO-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimCellFilterTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimStatisticsContourMap-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimGridCalculation-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifSummaryCalculationIO-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimEmReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimFormationNames-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifPolygonReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifParquetReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifOsduWellPathReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigVfpTables-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaResultName-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigPolygonTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimPolygonInViewCollection-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimSurfaceInViewCollection-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimViewController-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/CvfCameraCrashTriage-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaNameUniquenessTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifVtkSurfaceImporter-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifVtkReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigFemPart-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RicNewWellPathLateralAtDepthFeature-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifVtkImportUtil-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaKeyValueStore-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaEnsembleImportTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifSurfio-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifRmsWellPathReader-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaAngleUtils-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaZScaleTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RicTransmissibilityCalculator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigCompletionDataGridCell-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/cafVecIjk-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaSummaryAddressCollectionTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/../TestModels/RimMockSummaryCase.h
|
|
${CMAKE_CURRENT_LIST_DIR}/RimMockSummaryCase-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCalculation-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RifMultipleSummaryReaders-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCalculationCollection-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaConnectorTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigWellTargetMappingTools-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RicWellPathExportMswGeometryPath-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RicMswBranchBuilder-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigMswTableData-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RigAllGridCellsResultAccessor-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RicScheduleDataGenerator-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RicWellPathExportCompletionDataFeatureImpl-Test.cpp
|
|
)
|
|
|
|
if(RESINSIGHT_ENABLE_GRPC)
|
|
list(APPEND SOURCE_UNITTEST_FILES
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcInterface-Test.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcWellPathService-Test.cpp
|
|
)
|
|
endif(RESINSIGHT_ENABLE_GRPC)
|
|
|
|
# Obsolete test
|
|
if(RESINSIGHT_USE_ODB_API_OBSOLETE)
|
|
list(APPEND SOURCE_UNITTEST_FILES
|
|
${CMAKE_CURRENT_LIST_DIR}/RifOdbReader-Test.cpp
|
|
)
|
|
endif(RESINSIGHT_USE_ODB_API_OBSOLETE)
|
|
|
|
include(FetchContent)
|
|
FetchContent_Declare(
|
|
googletest
|
|
GIT_REPOSITORY https://github.com/google/googletest.git
|
|
GIT_TAG v1.15.2
|
|
)
|
|
|
|
set(BUILD_GMOCK
|
|
OFF
|
|
CACHE BOOL "" FORCE
|
|
)
|
|
set(BUILD_GTEST
|
|
ON
|
|
CACHE BOOL "" FORCE
|
|
)
|
|
set(INSTALL_GTEST
|
|
OFF
|
|
CACHE BOOL "" FORCE
|
|
)
|
|
FetchContent_MakeAvailable(googletest)
|
|
|
|
# ##############################################################################
|
|
# Copy required Dll/.so to output folder
|
|
# ##############################################################################
|
|
|
|
# create an empty library target that will be used to copy files to the build
|
|
# folder
|
|
add_library(ResInsightDummyTestTarget EXCLUDE_FROM_ALL empty.cpp)
|
|
set_property(
|
|
TARGET ResInsightDummyTestTarget PROPERTY FOLDER "FileCopyTargetsTest"
|
|
)
|
|
|
|
# Keep the test executable out of the shared build root. The POST_BUILD step
|
|
# below copies the Qt runtime DLLs next to the executable, and the build root
|
|
# has ResInsight.exe running out of it during Python code generation with those
|
|
# same DLLs loaded. Overwriting a mapped DLL is a sharing violation on Windows,
|
|
# and nothing orders the two build edges relative to each other.
|
|
set(RESINSIGHT_TESTS_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
# create a custom target that copies the files to the test output folder
|
|
list(
|
|
APPEND
|
|
copyCommands
|
|
COMMAND
|
|
${CMAKE_COMMAND}
|
|
-E
|
|
make_directory
|
|
${RESINSIGHT_TESTS_OUTPUT_DIRECTORY}
|
|
)
|
|
foreach(riFileName ${RI_FILENAMES})
|
|
list(
|
|
APPEND
|
|
copyCommands
|
|
COMMAND
|
|
${CMAKE_COMMAND}
|
|
-E
|
|
copy_if_different
|
|
${riFileName}
|
|
${RESINSIGHT_TESTS_OUTPUT_DIRECTORY}
|
|
)
|
|
endforeach()
|
|
add_custom_target(PreBuildFileCopyTest ${copyCommands})
|
|
set_property(TARGET PreBuildFileCopyTest PROPERTY FOLDER "FileCopyTargetsTest")
|
|
|
|
qt_add_executable(ResInsight-tests ${SOURCE_UNITTEST_FILES} main.cpp)
|
|
|
|
# Scope USE_HDF5 and its include dir to the 3 test files that need them, to
|
|
# avoid a full rebuild on toggle.
|
|
if(RESINSIGHT_FOUND_HDF5)
|
|
set(RI_HDF5_TEST_FILES
|
|
${CMAKE_CURRENT_SOURCE_DIR}/HDF5FileReader-Test.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/HDF5FileWriter-Test.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/RimEmReader-Test.cpp
|
|
)
|
|
set_source_files_properties(
|
|
${RI_HDF5_TEST_FILES} PROPERTIES COMPILE_DEFINITIONS
|
|
"USE_HDF5;H5_BUILT_AS_DYNAMIC_LIB"
|
|
)
|
|
if(MSVC)
|
|
set_source_files_properties(
|
|
${RI_HDF5_TEST_FILES} PROPERTIES INCLUDE_DIRECTORIES
|
|
${RESINSIGHT_HDF5_DIR}/include
|
|
)
|
|
else()
|
|
# Drop implicit dirs such as /usr/include, see ApplicationLibCode.
|
|
set(RI_HDF5_TEST_INCLUDE_DIRS ${HDF5_INCLUDE_DIRS})
|
|
list(REMOVE_ITEM RI_HDF5_TEST_INCLUDE_DIRS
|
|
${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES}
|
|
)
|
|
set_source_files_properties(
|
|
${RI_HDF5_TEST_FILES} PROPERTIES INCLUDE_DIRECTORIES
|
|
"${RI_HDF5_TEST_INCLUDE_DIRS}"
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
# Make ResInsight-tests depend on the prebuild target.
|
|
add_dependencies(ResInsight-tests PreBuildFileCopyTest)
|
|
|
|
set_target_properties(
|
|
ResInsight-tests PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
|
${RESINSIGHT_TESTS_OUTPUT_DIRECTORY}
|
|
)
|
|
|
|
configure_file(
|
|
${CMAKE_CURRENT_LIST_DIR}/RiaTestDataDirectory.h.cmake
|
|
${CMAKE_BINARY_DIR}/Generated/RiaTestDataDirectory.h
|
|
)
|
|
|
|
target_include_directories(
|
|
ResInsight-tests
|
|
PUBLIC ${CMAKE_BINARY_DIR}/Generated
|
|
"$<TARGET_PROPERTY:ApplicationLibCode,PUBLIC_INCLUDE_DIRECTORIES>"
|
|
${PROJECT_SOURCE_DIR}/Commands
|
|
${PROJECT_SOURCE_DIR}/Commands/CompletionExportCommands
|
|
${CMAKE_CURRENT_LIST_DIR}/../TestModels
|
|
)
|
|
|
|
target_compile_features(ResInsight-tests PRIVATE cxx_std_20)
|
|
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
find_package(Threads REQUIRED)
|
|
|
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
|
list(APPEND THIRD_PARTY_LIBRARIES rt atomic)
|
|
endif()
|
|
|
|
set(LINK_LIBRARIES
|
|
${THIRD_PARTY_LIBRARIES}
|
|
${OPENGL_LIBRARIES}
|
|
${QT_LIBRARIES}
|
|
${OPM_LIBRARIES}
|
|
${APP_FWK_LIBRARIES}
|
|
${VIZ_FWK_LIBRARIES}
|
|
ApplicationLibCode
|
|
Commands
|
|
RigGeoMechDataModel
|
|
RifGeoMechFileInterface
|
|
)
|
|
|
|
if(RESINSIGHT_ENABLE_GRPC)
|
|
list(APPEND LINK_LIBRARIES GrpcInterface)
|
|
endif()
|
|
|
|
if(RESINSIGHT_USE_ODB_API)
|
|
list(APPEND LINK_LIBRARIES RifOdbReader)
|
|
endif()
|
|
|
|
target_link_libraries(
|
|
ResInsight-tests
|
|
PUBLIC ${LINK_LIBRARIES} GTest::gtest
|
|
PRIVATE ResInsightCommonSettings
|
|
)
|
|
|
|
if(MSVC)
|
|
add_custom_command(
|
|
TARGET ResInsight-tests
|
|
POST_BUILD
|
|
COMMAND
|
|
${CMAKE_COMMAND} -E copy_if_different
|
|
$<TARGET_RUNTIME_DLLS:ResInsight-tests>
|
|
$<TARGET_FILE_DIR:ResInsight-tests>
|
|
COMMAND_EXPAND_LISTS
|
|
)
|
|
|
|
set_target_properties(ResInsight-tests PROPERTIES COMPILE_FLAGS "/wd4190")
|
|
endif(MSVC)
|
|
|
|
add_test(NAME ResInsight-tests COMMAND ResInsight-tests)
|