Salome HOME
correction for Windows
[modules/hydro.git] / src / HYDRO_tests / CMakeLists.txt
1 ADD_SUBDIRECTORY(reference_data)
2
3 include(../../CMake/Common.cmake)
4 include(ExternalFiles.cmake)
5
6 set (CMAKE_POSITION_INDEPENDENT_CODE ON)
7
8 set(PROJECT_HEADERS
9   test_HYDROData_Bathymetry.h
10   test_HYDROData_Channel.h
11   test_HYDROData_Document.h
12   test_HYDROData_Entity.h
13   test_HYDROData_Image.h
14   test_HYDROData_Iterator.h
15   test_HYDROData_LandCoverMap.h
16   test_HYDROData_OperationsFactory.h
17   test_HYDROData_PolylineXY.h
18   test_HYDROData_Profile.h
19   test_HYDROData_ShapeFile.h
20   test_HYDROData_StricklerTable.h
21   test_HYDROGUI_ListModel.h
22   test_HYDROGUI_Shape.h
23   test_HYDROGUI_LandCoverMapDlg.h
24   test_HYDROData_CalcCase.h
25   test_HYDROData_Stream.h
26   test_HYDROData_Tool.h
27   test_HYDROGUI_BathymetryPrs.h
28   
29   test_Dependencies.h
30   test_HYDROData_DTM.h
31   test_GraphicsView.h
32   test_Overview.h
33
34   TestShape.h
35   TestViewer.h
36   TestLib_Listener.h
37   TestLib_Runner.h
38 )
39
40 set(PROJECT_SOURCES
41   test_HYDROData_Bathymetry.cxx
42   test_HYDROData_Channel.cxx
43   test_HYDROData_Document.cxx
44   test_HYDROData_Entity.cxx
45   test_HYDROData_Image.cxx
46   test_HYDROData_Iterator.cxx
47   test_HYDROData_LandCoverMap.cxx
48   test_HYDROData_Main.cxx
49   test_HYDROData_OperationsFactory.cxx
50   test_HYDROData_PolylineXY.cxx
51   test_HYDROData_Profile.cxx
52   test_HYDROData_ShapeFile.cxx
53   test_HYDROData_StricklerTable.cxx
54   test_HYDROData_DTM.cxx
55   test_HYDROGUI_ListModel.cxx
56   test_HYDROGUI_Shape.cxx
57   test_HYDROGUI_LandCoverMapDlg.cxx
58   test_HYDROData_CalcCase.cxx
59   test_HYDROData_Stream.cxx
60   test_Dependencies.cxx
61   test_HYDROData_Tool.cxx
62   test_GraphicsView.cxx
63   test_Overview.cxx
64   test_HYDROGUI_ProfilesDlg.cxx
65   test_HYDROGUI_BathymetryPrs.cxx
66  
67   TestShape.cxx
68   TestViewer.cxx
69   TestLib_Listener.cxx
70   TestLib_Runner.cxx
71 )
72
73 add_definitions( -DLIGHT_MODE -DHYDRODATA_STATIC -DHYDROGUI_STATIC -DTEST_MODE -DQT_GUI_LIB -DQT_WIDGETS_LIB )
74
75 IF( ${WIN32} )
76   add_definitions( -DWNT -D__WIN32__ -D__x86__ -D_WIN64 -D_WIN32_WINNT=0x0400 -D__NT__ -D__OSVERSION__=4 )
77 ENDIF()
78
79 SET( CPPUNIT_INCLUDES $ENV{CPPUNIT_ROOT_DIR}/include )
80 SET( CAS_INCLUDES $ENV{CASROOT}/inc )
81 SET( QT_INCLUDES $ENV{QTDIR}/include $ENV{QT_ROOT_DIR}/include $ENV{QT_ROOT_DIR}/include/QtCore $ENV{QT_ROOT_DIR}/include/QtGui $ENV{QT_ROOT_DIR}/include/QtTest )
82 SET( KERNEL_INCLUDES $ENV{KERNEL_ROOT_DIR}/include/salome )
83 SET( GUI_INCLUDES $ENV{GUI_ROOT_DIR}/include/salome )
84 SET( GEOM_INCLUDES $ENV{GEOM_ROOT_DIR}/include/salome )
85 SET( ECW_INCLUDES $ENV{ECWLIB_ROOT_DIR}/include )
86
87 IF( ${WIN32} )
88   link_directories( $ENV{CASROOT}/win64/vc10/lib $ENV{GL2PS_DIR}/lib )
89 ELSE()
90   link_directories( $ENV{CASROOT}/lib $ENV{TBB_ROOT_DIR}/lib/intel64/gcc4.4 )
91 ENDIF()
92 SET( CAS_LIBRARIES TKernel TKLCAF TKCAF TKCDF TKMath TKG2d TKG3d TKBRep TKGeomBase TKTopAlgo TKGeomAlgo TKBool TKShHealing TKXSBase TKOffset TKHLR TKBO TKV3d TKService TKMesh gl2ps )
93
94 link_directories( $ENV{QT_ROOT_DIR}/lib $ENV{QTDIR}/lib )
95 IF( ${WIN32} )
96   SET( QT_LIBRARIES Qt5Cored Qt5Guid Qt5Testd )
97 ELSE()
98   SET( QT_LIBRARIES Qt5Core Qt5Gui Qt5Test )
99 ENDIF()
100
101
102 link_directories( $ENV{CPPUNIT_ROOT_DIR}/lib )
103 IF( ${WIN32} )
104   IF( CMAKE_BUILD_TYPE MATCHES Debug )
105     SET( CPPUNIT_LIBRARIES cppunitd )
106   ELSE()
107     SET( CPPUNIT_LIBRARIES cppunit )
108   ENDIF()
109 ELSE()
110   SET( CPPUNIT_LIBRARIES cppunit )
111 ENDIF()
112
113 link_directories( $ENV{KERNEL_ROOT_DIR}/lib/salome $ENV{GUI_ROOT_DIR}/lib/salome $ENV{GEOM_ROOT_DIR}/lib/salome )
114
115 SET( GUI_LIBRARIES ImageComposer qtx suit CAM OCCViewer GraphicsView )
116 # Please do not link with LightApp since in the full SALOME it is linked with CORBA (omniORB)
117
118 SET( GEOM_LIBRARIES CurveCreator GEOMUtils )
119
120 link_directories( $ENV{ECWLIB_ROOT_DIR}/lib )
121 IF( ${WIN32} )
122   SET( ECW_LIBRARIES libecwj2 )
123 ELSE()
124   SET( ECW_LIBRARIES ecwj2 )
125 ENDIF()
126
127 include_directories(
128   ${CAS_INCLUDES}
129   ${QT_INCLUDES}
130   ${CPPUNIT_INCLUDES}
131   ${KERNEL_INCLUDES}
132   ${GUI_INCLUDES}
133   ${GEOM_INCLUDES}
134   ${CMAKE_CURRENT_SOURCE_DIR}/../HYDROData
135   ${CMAKE_CURRENT_SOURCE_DIR}/../HYDROGUI
136   ${CMAKE_CURRENT_SOURCE_DIR}/../shapelib
137   ${ECW_INCLUDES}
138 )
139
140 source_group( "External files" FILES ${EXTERNAL_FILES} )
141
142 add_executable( HYDROData_tests ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${EXTERNAL_FILES} ${PROJECT_MOC_HEADERS} )
143 set_target_properties( HYDROData_tests PROPERTIES LINK_INTERFACE_LIBRARIES "" )
144 target_link_libraries( HYDROData_tests ${GUI_LIBRARIES} ${GEOM_LIBRARIES} ${CAS_LIBRARIES} ${QT_LIBRARIES} ${CPPUNIT_LIBRARIES} shapelib ${ECW_LIBRARIES} )
145
146 INSTALL(TARGETS HYDROData_tests EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})