Salome HOME
custom test runner to run only a subset of complete test suite
[modules/hydro.git] / src / HYDRO_tests / CMakeLists.txt
index 82c0156ee8c533863f0de0561ce13f7ecff9da6c..bad929033fea1996e15bc3c860c429b8aeec7532 100644 (file)
@@ -1,4 +1,5 @@
-#include(../../CMake/Common.cmake)
+include(../../CMake/Common.cmake)
+include(ExternalFiles.cmake)
 
 set(PROJECT_HEADERS
   test_HYDROData_Bathymetry.h
@@ -6,11 +7,15 @@ set(PROJECT_HEADERS
   test_HYDROData_Entity.h
   test_HYDROData_Image.h
   test_HYDROData_Iterator.h
+  test_HYDROData_LandCoverMap.h
   test_HYDROData_OperationsFactory.h
   test_HYDROData_PolylineXY.h
   test_HYDROData_Profile.h
   test_HYDROData_StricklerTable.h
   test_HYDROGUI_ListModel.h
+
+  TestViewer.h
+  TestLib_Runner.h
 )
 
 set(PROJECT_SOURCES 
@@ -19,6 +24,7 @@ set(PROJECT_SOURCES
   test_HYDROData_Entity.cxx
   test_HYDROData_Image.cxx
   test_HYDROData_Iterator.cxx
+  test_HYDROData_LandCoverMap.cxx
   test_HYDROData_Main.cxx
   test_HYDROData_OperationsFactory.cxx
   test_HYDROData_PolylineXY.cxx
@@ -26,63 +32,8 @@ set(PROJECT_SOURCES
   test_HYDROData_StricklerTable.cxx
   test_HYDROGUI_ListModel.cxx
 
-  ../HYDROData/HYDROData_AltitudeObject.cxx
-  ../HYDROData/HYDROData_Application.cxx
-  ../HYDROData/HYDROData_ArtificialObject.cxx
-  ../HYDROData/HYDROData_Bathymetry.cxx
-  ../HYDROData/HYDROData_BSplineOperation.cxx
-  ../HYDROData/HYDROData_CalculationCase.cxx
-  ../HYDROData/HYDROData_Channel.cxx
-  ../HYDROData/HYDROData_Confluence.cxx
-  ../HYDROData/HYDROData_Digue.cxx
-  ../HYDROData/HYDROData_Document.cxx
-  ../HYDROData/HYDROData_DummyObject3D.cxx
-  ../HYDROData/HYDROData_Entity.cxx
-  ../HYDROData/HYDROData_IAltitudeObject.cxx
-  ../HYDROData/HYDROData_IInterpolator.cxx
-  ../HYDROData/HYDROData_Image.cxx
-  ../HYDROData/HYDROData_ImmersibleZone.cxx
-  ../HYDROData/HYDROData_IPolyline.cxx
-  ../HYDROData/HYDROData_Iterator.cxx
-  ../HYDROData/HYDROData_Lambert93.cxx
-  ../HYDROData/HYDROData_NaturalObject.cxx
-  ../HYDROData/HYDROData_Object.cxx
-  ../HYDROData/HYDROData_Obstacle.cxx
-  ../HYDROData/HYDROData_ObstacleAltitude.cxx
-  ../HYDROData/HYDROData_OperationsFactory.cxx
-  ../HYDROData/HYDROData_Pipes.cxx
-  ../HYDROData/HYDROData_PolylineOperator.cxx
-  ../HYDROData/HYDROData_PolylineXY.cxx
-  ../HYDROData/HYDROData_Polyline3D.cxx
-  ../HYDROData/HYDROData_PriorityQueue.cxx
-  ../HYDROData/HYDROData_Profile.cxx
-  ../HYDROData/HYDROData_ProfileUZ.cxx
-  ../HYDROData/HYDROData_Projection.cxx
-  ../HYDROData/HYDROData_Region.cxx
-  ../HYDROData/HYDROData_River.cxx
-  ../HYDROData/HYDROData_ShapesGroup.cxx
-  ../HYDROData/HYDROData_ShapesTool.cxx
-  ../HYDROData/HYDROData_SplittedShapesGroup.cxx
-  ../HYDROData/HYDROData_SplitToZonesTool.cxx
-  ../HYDROData/HYDROData_Stream.cxx
-  ../HYDROData/HYDROData_StreamAltitude.cxx
-  ../HYDROData/HYDROData_StricklerTable.cxx
-  ../HYDROData/HYDROData_LandCover.cxx
-  ../HYDROData/HYDROData_Tool.cxx
-  ../HYDROData/HYDROData_TopoCurve.cxx
-  ../HYDROData/HYDROData_Transform.cxx
-  ../HYDROData/HYDROData_VisualState.cxx
-  ../HYDROData/HYDROData_Zone.cxx
-  ../HYDROData/HYDROData_GeomTool.cxx
-  ../HYDROData/HYDROData_IProfilesInterpolator.cxx
-  ../HYDROData/HYDROData_LinearInterpolator.cxx
-  ../HYDROData/HYDROData_InterpolatorsFactory.cxx
-  ../HYDROData/HYDROData_SinusX.cxx
-  ../HYDROData/HYDROData_ShapeFile.cxx
-  ../HYDROData/HYDROData_LandCoverMap.cxx
-
-  ../HYDROGUI/HYDROGUI_ListModel.cxx
-  ../HYDROGUI/HYDROGUI_DataObject.cxx
+  TestViewer.cxx
+  TestLib_Runner.cxx
 )
 
 add_definitions(
@@ -99,7 +50,7 @@ SET( QT_INCLUDES $ENV{QT_ROOT_DIR}/include $ENV{QT_ROOT_DIR}/include/QtCore $ENV
 SET( GUI_INCLUDES $ENV{GUI_ROOT_DIR}/include/salome )
 
 link_directories( $ENV{CAS_ROOT_DIR}/win32/libd )  #TODO: more correct for release, linux etc
-SET( CAS_LIBRARIES TKernel TKLCAF TKCAF TKCDF TKMath TKG2d TKG3d TKBRep TKGeomBase TKTopAlgo TKGeomAlgo TKBool TKShHealing TKXSBase TKOffset TKHLR TKBO )
+SET( CAS_LIBRARIES TKernel TKLCAF TKCAF TKCDF TKMath TKG2d TKG3d TKBRep TKGeomBase TKTopAlgo TKGeomAlgo TKBool TKShHealing TKXSBase TKOffset TKHLR TKBO TKV3d )
 
 link_directories( $ENV{QT_ROOT_DIR}/lib )
 SET( QT_LIBRARIES QtCored4 QtGuid4 )
@@ -108,7 +59,7 @@ link_directories( $ENV{CPPUNIT_ROOT_DIR}/lib )
 SET( CPPUNIT_LIBRARIES cppunitd )
 
 link_directories( $ENV{GUI_ROOT_DIR}/lib/salome )
-SET( GUI_LIBRARIES ImageComposer Qtx SUIT LightApp CAM )
+SET( GUI_LIBRARIES ImageComposer Qtx SUIT LightApp CAM OCCViewer )
 
 include_directories(
   ${BOOST_INCLUDES}
@@ -116,11 +67,16 @@ include_directories(
   ${QT_INCLUDES}
   ${CPPUNIT_INCLUDES}
   ${GUI_INCLUDES}
-  ${CMAKE_CURRENT_SOURCE_DIR}
   ${CMAKE_CURRENT_SOURCE_DIR}/../HYDROData
   ${CMAKE_CURRENT_SOURCE_DIR}/../HYDROGUI
   ${CMAKE_CURRENT_SOURCE_DIR}/../shapelib
 )
 
-add_executable( HYDROData_tests ${PROJECT_SOURCES} ${PROJECT_HEADERS})
+source_group( "External files" FILES ${EXTERNAL_FILES} )
+
+add_executable( HYDROData_tests ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${EXTERNAL_FILES} )
 target_link_libraries( HYDROData_tests ${GUI_LIBRARIES} ${CAS_LIBRARIES} ${QT_LIBRARIES} ${CPPUNIT_LIBRARIES} shapelib )
+
+IF( ${WIN32} )
+  add_custom_command( TARGET HYDROData_tests POST_BUILD COMMAND $(TargetPath) COMMENT "Running tests" )
+ENDIF()