Salome HOME
Merge remote-tracking branch 'origin/BR_LAND_COVER' into BR_v14_rc
[modules/hydro.git] / src / HYDROGUI / CMakeLists.txt
1 #include(../../CMake/Common.cmake)
2 include(../../CMake/UseQT4EXT.cmake)
3  
4 set(PROJECT_HEADERS 
5     HYDROGUI.h
6     HYDROGUI_AbstractDisplayer.h
7     HYDROGUI_AISTrihedron.h
8     HYDROGUI_BathymetryPrs.h
9     HYDROGUI_CalculationDlg.h
10     HYDROGUI_CalculationOp.h
11     HYDROGUI_ChannelDlg.h
12     HYDROGUI_ChannelOp.h
13     HYDROGUI_ColorWidget.h
14     HYDROGUI_CopyPasteOp.h
15     HYDROGUI_CopyPastePositionOp.h
16     HYDROGUI_CurveCreatorProfile.h
17     HYDROGUI_DataBrowser.h
18     HYDROGUI_DataModel.h
19     HYDROGUI_DataModelSync.h
20     HYDROGUI_DataObject.h
21     HYDROGUI_DataOwner.h
22     HYDROGUI_DeleteDlg.h
23     HYDROGUI_DeleteOp.h
24     HYDROGUI_DigueDlg.h
25     HYDROGUI_DigueOp.h
26     HYDROGUI_Displayer.h
27     HYDROGUI_DuplicateOp.h
28     HYDROGUI_ExportImageOp.h
29     HYDROGUI_ExportFileOp.h
30     HYDROGUI_GVSelector.h
31     HYDROGUI_ImagePrs.h
32     HYDROGUI_BasicZoneDlg.h
33     HYDROGUI_ImmersibleZoneDlg.h
34     HYDROGUI_ImmersibleZoneOp.h
35     HYDROGUI_ImportBathymetryDlg.h
36     HYDROGUI_ImportBathymetryOp.h
37     HYDROGUI_ImportImageDlg.h
38     HYDROGUI_ImportImageOp.h
39     HYDROGUI_ImportPolylineOp.h
40     HYDROGUI_ImportLandCoverOp.h
41     HYDROGUI_ImportLandCoverDlg.h
42     HYDROGUI_ImportSinusXOp.h
43     HYDROGUI_ExportSinusXOp.h
44     HYDROGUI_ExportSinusXDlg.h
45     HYDROGUI_InputPanel.h
46     HYDROGUI_LocalCSDlg.h
47     HYDROGUI_LocalCSOp.h
48     HYDROGUI_MergePolylinesDlg.h
49     HYDROGUI_MergePolylinesOp.h
50     HYDROGUI_Module.h
51     HYDROGUI_NameValidator.h
52     HYDROGUI_ObjSelector.h
53     HYDROGUI_ObserveImageOp.h
54     HYDROGUI_OCCDisplayer.h
55     HYDROGUI_OCCSelector.h
56     HYDROGUI_Operation.h
57     HYDROGUI_Operations.h
58     HYDROGUI_Poly3DDlg.h
59     HYDROGUI_Poly3DOp.h
60     HYDROGUI_PolylineDlg.h
61     HYDROGUI_PolylineOp.h
62     HYDROGUI_ProfileDlg.h
63     HYDROGUI_ProfileOp.h
64     HYDROGUI_ProfileInterpolateDlg.h
65     HYDROGUI_ProfileInterpolateOp.h
66     HYDROGUI_Prs.h
67     HYDROGUI_PrsDriver.h
68     HYDROGUI_PrsImage.h
69     HYDROGUI_PrsImageDriver.h
70     HYDROGUI_PrsImageFrame.h
71     HYDROGUI_PrsPolyline.h
72     HYDROGUI_PrsPolylineDriver.h
73     HYDROGUI_PrsZone.h
74     HYDROGUI_PrsZoneDriver.h
75     HYDROGUI_Region.h
76     HYDROGUI_RemoveImageRefsOp.h
77     HYDROGUI_Shape.h
78     HYDROGUI_Polyline.h
79     HYDROGUI_ShapeBathymetry.h
80     HYDROGUI_ShapeImage.h
81     HYDROGUI_ShowHideOp.h
82     HYDROGUI_SplitPolylinesDlg.h
83     HYDROGUI_SplitPolylinesOp.h
84     HYDROGUI_StreamDlg.h
85     HYDROGUI_StreamOp.h
86     HYDROGUI_LineEditDoubleValidator.h
87     HYDROGUI_StricklerTableDlg.h
88     HYDROGUI_StricklerTableOp.h
89     HYDROGUI_LandCoverDlg.h
90     HYDROGUI_LandCoverOp.h
91     HYDROGUI_SubmersibleOp.h
92     HYDROGUI_Tool.h
93     HYDROGUI_TwoImagesDlg.h
94     HYDROGUI_TwoImagesOp.h
95     HYDROGUI_UpdateFlags.h
96     HYDROGUI_UpdateObjectOp.h
97     HYDROGUI_VisualStateOp.h
98     HYDROGUI_VTKPrs.h
99     HYDROGUI_VTKPrsBathymetry.h
100     HYDROGUI_VTKPrsBathymetryDriver.h
101     HYDROGUI_VTKPrsDisplayer.h
102     HYDROGUI_VTKPrsDriver.h
103     HYDROGUI_VTKPrsShape.h
104     HYDROGUI_VTKPrsShapeDriver.h
105     HYDROGUI_Wizard.h
106     HYDROGUI_Zone.h
107     HYDROGUI_ImportGeomObjectOp.h
108     HYDROGUI_ImportObstacleFromFileOp.h
109     HYDROGUI_ExportCalculationOp.h
110     HYDROGUI_GeomObjectDlg.h
111     HYDROGUI_SetColorOp.h
112     HYDROGUI_ColorDlg.h
113     HYDROGUI_ImportProfilesOp.h
114     HYDROGUI_GeoreferencementDlg.h
115     HYDROGUI_GeoreferencementOp.h
116     HYDROGUI_Actor.h
117     HYDROGUI_BathymetryBoundsOp.h
118     HYDROGUI_TranslateObstacleDlg.h
119     HYDROGUI_TranslateObstacleOp.h
120     HYDROGUI_ListModel.h
121     HYDROGUI_ZLevelsDlg.h
122     HYDROGUI_ZLevelsOp.h
123     HYDROGUI_OrderedListWidget.h
124     HYDROGUI_ListSelector.h
125     HYDROGUI_ZLayers.h
126     HYDROGUI_PriorityWidget.h
127     HYDROGUI_PriorityTableModel.h
128     HYDROGUI_RiverBottomDlg.h
129     HYDROGUI_RiverBottomOp.h
130     HYDROGUI_ViewerDlg.h
131     HYDROGUI_ObjComboBox.h
132     HYDROGUI_PolylineExtractionOp.h
133     HYDROGUI_ObjListBox.h
134     HYDROGUI_RecognizeContoursDlg.h
135     HYDROGUI_RecognizeContoursOp.h
136     HYDROGUI_LandCoverColoringOp.h
137     HYDROGUI_ShapeLandCover.h
138 )
139
140 QT4_WRAP_CPP(PROJECT_HEADERS_MOC ${PROJECT_HEADERS})
141
142 set(PROJECT_SOURCES 
143     HYDROGUI_AbstractDisplayer.cxx
144     HYDROGUI_AISTrihedron.cxx
145     HYDROGUI_BathymetryPrs.cxx
146     HYDROGUI_CalculationDlg.cxx
147     HYDROGUI_CalculationOp.cxx
148     HYDROGUI_ChannelDlg.cxx
149     HYDROGUI_ChannelOp.cxx
150     HYDROGUI_ColorWidget.cxx
151     HYDROGUI_CopyPasteOp.cxx
152     HYDROGUI_CopyPastePositionOp.cxx
153     HYDROGUI_CurveCreatorProfile.cxx
154     HYDROGUI_DataBrowser.cxx
155     HYDROGUI_DataModel.cxx
156     HYDROGUI_DataModelSync.cxx
157     HYDROGUI_DataObject.cxx
158     HYDROGUI_DataOwner.cxx
159     HYDROGUI_DeleteDlg.cxx
160     HYDROGUI_DeleteOp.cxx
161     HYDROGUI_DigueDlg.cxx
162     HYDROGUI_DigueOp.cxx
163     HYDROGUI_Displayer.cxx
164     HYDROGUI_DuplicateOp.cxx
165     HYDROGUI_ExportImageOp.cxx
166     HYDROGUI_ExportFileOp.cxx
167     HYDROGUI_GVSelector.cxx
168     HYDROGUI_ImagePrs.cxx
169     HYDROGUI_BasicZoneDlg.cxx
170     HYDROGUI_ImmersibleZoneDlg.cxx
171     HYDROGUI_ImmersibleZoneOp.cxx
172     HYDROGUI_ImportBathymetryDlg.cxx
173     HYDROGUI_ImportBathymetryOp.cxx
174     HYDROGUI_ImportImageDlg.cxx
175     HYDROGUI_ImportImageOp.cxx
176     HYDROGUI_ImportPolylineOp.cxx
177     HYDROGUI_ImportSinusXOp.cxx
178     HYDROGUI_ImportLandCoverOp.cxx
179     HYDROGUI_ImportLandCoverDlg.cxx
180     HYDROGUI_ExportSinusXOp.cxx
181     HYDROGUI_ExportSinusXDlg.cxx
182     HYDROGUI_InputPanel.cxx
183     HYDROGUI_LocalCSDlg.cxx
184     HYDROGUI_LocalCSOp.cxx
185     HYDROGUI_MergePolylinesDlg.cxx
186     HYDROGUI_MergePolylinesOp.cxx
187     HYDROGUI_Module.cxx
188     HYDROGUI_NameValidator.cxx
189     HYDROGUI_ObjSelector.cxx
190     HYDROGUI_ObserveImageOp.cxx
191     HYDROGUI_OCCDisplayer.cxx
192     HYDROGUI_OCCSelector.cxx
193     HYDROGUI_Operation.cxx
194     HYDROGUI_Operations.cxx
195     HYDROGUI_Poly3DDlg.cxx
196     HYDROGUI_Poly3DOp.cxx
197     HYDROGUI_PolylineDlg.cxx
198     HYDROGUI_PolylineOp.cxx
199     HYDROGUI_ProfileDlg.cxx
200     HYDROGUI_ProfileOp.cxx
201     HYDROGUI_ProfileInterpolateDlg.cxx
202     HYDROGUI_ProfileInterpolateOp.cxx
203     HYDROGUI_Prs.cxx
204     HYDROGUI_PrsDriver.cxx
205     HYDROGUI_PrsImage.cxx
206     HYDROGUI_PrsImageDriver.cxx
207     HYDROGUI_PrsImageFrame.cxx
208     HYDROGUI_PrsPolyline.cxx
209     HYDROGUI_PrsPolylineDriver.cxx
210     HYDROGUI_PrsZone.cxx
211     HYDROGUI_PrsZoneDriver.cxx
212     HYDROGUI_Region.cxx
213     HYDROGUI_RemoveImageRefsOp.cxx
214     HYDROGUI_Shape.cxx
215     HYDROGUI_Polyline.cxx
216     HYDROGUI_ShapeBathymetry.cxx
217     HYDROGUI_ShapeImage.cxx
218     HYDROGUI_ShowHideOp.cxx
219     HYDROGUI_StreamDlg.cxx
220     HYDROGUI_StreamOp.cxx
221     HYDROGUI_LineEditDoubleValidator.cxx
222     HYDROGUI_StricklerTableDlg.cxx
223     HYDROGUI_StricklerTableOp.cxx
224     HYDROGUI_LandCoverDlg.cxx
225     HYDROGUI_LandCoverOp.cxx
226     HYDROGUI_SplitPolylinesDlg.cxx
227     HYDROGUI_SplitPolylinesOp.cxx
228     HYDROGUI_SubmersibleOp.cxx
229     HYDROGUI_Tool.cxx
230     HYDROGUI_TwoImagesDlg.cxx
231     HYDROGUI_TwoImagesOp.cxx
232     HYDROGUI_UpdateObjectOp.cxx
233     HYDROGUI_VisualStateOp.cxx
234     HYDROGUI_VTKPrs.cxx
235     HYDROGUI_VTKPrsBathymetry.cxx
236     HYDROGUI_VTKPrsBathymetryDriver.cxx
237     HYDROGUI_VTKPrsDisplayer.cxx
238     HYDROGUI_VTKPrsDriver.cxx
239     HYDROGUI_VTKPrsShape.cxx
240     HYDROGUI_VTKPrsShapeDriver.cxx
241     HYDROGUI_Wizard.cxx
242     HYDROGUI_Zone.cxx
243     HYDROGUI_ImportGeomObjectOp.cxx
244     HYDROGUI_ImportObstacleFromFileOp.cxx
245     HYDROGUI_ExportCalculationOp.cxx
246     HYDROGUI_GeomObjectDlg.cxx
247     HYDROGUI_SetColorOp.cxx
248     HYDROGUI_ColorDlg.cxx
249     HYDROGUI_ImportProfilesOp.cxx
250     HYDROGUI_GeoreferencementDlg.cxx
251     HYDROGUI_GeoreferencementOp.cxx
252     HYDROGUI_Actor.cxx
253     HYDROGUI_BathymetryBoundsOp.cxx
254     HYDROGUI_TranslateObstacleDlg.cxx
255     HYDROGUI_TranslateObstacleOp.cxx
256     HYDROGUI_ListModel.cxx
257     HYDROGUI_ZLevelsDlg.cxx
258     HYDROGUI_ZLevelsOp.cxx
259     HYDROGUI_OrderedListWidget.cxx
260     HYDROGUI_ListSelector.cxx
261     HYDROGUI_ZLayers.cxx
262     HYDROGUI_ZLayers2.cxx
263     HYDROGUI_ZLayers3.cxx
264     HYDROGUI_PriorityWidget.cxx
265     HYDROGUI_PriorityTableModel.cxx
266     HYDROGUI_RiverBottomDlg.cxx
267     HYDROGUI_RiverBottomOp.cxx
268     HYDROGUI_ViewerDlg.cxx
269     HYDROGUI_ObjComboBox.cxx
270     HYDROGUI_PolylineExtractionOp.cxx
271     HYDROGUI_ObjListBox.cxx
272     HYDROGUI_RecognizeContoursDlg.cxx
273     HYDROGUI_RecognizeContoursOp.cxx
274     HYDROGUI_LandCoverColoringOp.cxx
275     HYDROGUI_ShapeLandCover.cxx
276 )
277
278 add_definitions(
279   -DHYDROGUI_EXPORTS
280   ${CAS_DEFINITIONS}
281   ${OMNIORB_DEFINITIONS}
282   ${QT_DEFINITIONS}
283 #  $(GUI_CXXFLAGS)
284   ${GUI_DEFINITIONS}
285 #  $(GEOM_CXXFLAGS)
286   ${GEOM_DEFINITIONS}
287 )
288
289 include_directories(
290   ${CAS_INCLUDE_DIRS}
291   ${QT_INCLUDES}
292 #  ${GUI_ROOT_DIR}/include/salome
293   ${GUI_INCLUDE_DIRS}
294 #  ${GEOM_ROOT_DIR}/include/salome
295   ${GEOM_INCLUDE_DIRS}
296   ${CMAKE_CURRENT_SOURCE_DIR}
297   ${CMAKE_CURRENT_SOURCE_DIR}/../HYDROData
298   ${VTK_INCLUDE_DIRS}
299 )
300
301
302 add_library(HYDROGUI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${PROJECT_HEADERS_MOC})
303 target_link_libraries(HYDROGUI HYDROData
304     ${CAS_TKV3d} ${CAS_TKTopAlgo} ${CAS_TKBrep} ${CAS_TKBO}
305     ${GUI_LightApp} ${GUI_CAM} ${GUI_suit} ${GUI_qtx} ${GUI_ObjBrowser} ${GUI_GraphicsView} ${GUI_std} 
306     ${GUI_Event} ${GUI_OCCViewer} ${GEOM_GEOM} ${GEOM_GEOMBase} ${GEOM_CurveCreator}
307     ${VTK_LIBRARIES} ${SVTK} ${SalomeObject} ${SalomePrs}
308     )
309
310 INSTALL(TARGETS HYDROGUI EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
311
312 set(PROJECT_LIBRARIES HYDROGUI)
313
314 set(GUITS_SOURCES
315   resources/HYDROGUI_images.ts
316   resources/HYDROGUI_msg_en.ts
317   resources/HYDROGUI_msg_fr.ts
318 )
319
320 #include(../../CMake/CommonInstall.cmake)
321
322 # resources
323 QT4_INSTALL_TS_RESOURCES("${GUITS_SOURCES}" "${SALOME_HYDRO_INSTALL_RES_DATA}")
324
325 FILE(GLOB GUIPNG_DATA "${CMAKE_CURRENT_SOURCE_DIR}/resources/*.png")
326 FILE(GLOB GUIXML_DATA "${CMAKE_CURRENT_SOURCE_DIR}/resources/*.xml")
327 FILE(GLOB GUITXT_DATA "${CMAKE_CURRENT_SOURCE_DIR}/resources/*.txt")
328 SET(GUI_DATA ${GUIPNG_DATA} ${GUIXML_DATA} ${GUITXT_DATA})
329 INSTALL(FILES ${GUI_DATA} DESTINATION ${SALOME_HYDRO_INSTALL_RES_DATA})
330
331 # tests
332 if(SALOME_BUILD_TESTS)
333
334   set(TEST_HEADERS 
335     test_HYDROGUI_ListModel.h
336   )
337
338   set(TEST_SOURCES 
339     test_HYDROGUI_Main.cxx
340     test_HYDROGUI_ListModel.cxx    
341   )
342   
343   set(TEST_EXE test_HYDROGUI)
344   include(../../CMake/CPPUnitTests.cmake)
345   target_link_libraries(test_HYDROGUI ${CPPUNIT_LIBRARIES} HYDROData HYDROGUI)
346
347   INSTALL(TARGETS test_HYDROGUI EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
348
349 endif(SALOME_BUILD_TESTS)
350