Salome HOME
Merge remote branch 'origin/V7_dev'
[modules/yacs.git] / src / genericgui / CMakeLists.txt
1 # Copyright (C) 2012-2016  CEA/DEN, EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 INCLUDE(UseQtExt)
21
22 # --- options ---
23
24 # additional include directories
25 INCLUDE_DIRECTORIES(
26   ${PYTHON_INCLUDE_DIR}
27   ${OMNIORB_INCLUDE_DIR}
28   ${LIBXML2_INCLUDE_DIR}
29   ${GRAPHVIZ_INCLUDE_DIRS}
30   ${QT_INCLUDES}
31   ${KERNEL_INCLUDE_DIRS}
32   ${GUI_INCLUDE_DIRS}
33   ${PROJECT_BINARY_DIR}/src/genericgui
34   ${PROJECT_SOURCE_DIR}/src
35   ${PROJECT_SOURCE_DIR}/src/bases
36   ${PROJECT_SOURCE_DIR}/src/engine
37   ${PROJECT_SOURCE_DIR}/src/runtime
38   ${PROJECT_SOURCE_DIR}/src/yacsloader
39   ${PROJECT_SOURCE_DIR}/src/hmi
40   ${PROJECT_SOURCE_DIR}/src/salomewrap
41   ${PROJECT_SOURCE_DIR}/src/genericgui
42   ${PROJECT_BINARY_DIR}/idl
43   ${PROJECT_BINARY_DIR}/src/yacsorb
44   )
45
46 # additional preprocessor / compiler flags
47 ADD_DEFINITIONS(
48   ${QT_DEFINITIONS}
49   ${PYTHON_DEFINITIONS}
50   ${GRAPHVIZ_DEFINITIONS}
51   ${OMNIORB_DEFINITIONS}
52   ${KERNEL_DEFINITIONS}
53   ${GUI_DEFINITIONS}
54   ${GRAPHVIZ_DEFINITIONS}
55   )
56
57 # libraries to link to
58 SET(_link_LIBRARIES
59   ${QT_LIBRARIES}
60   YACSRuntimeSALOME
61   YACSloader
62   SalomeWrap
63   HMI
64   SalomeResourcesManager
65   ${LIBXML2_LIBRARIES}
66   ${GRAPHVIZ_LIBRARIES}
67   )
68
69 # --- resources ---
70
71 # resource files / to be processed by uic
72 SET(_uic_files
73   FormComponent.ui
74   FormContainer.ui
75   FormAdvParamContainer.ui
76   FormParamContainer.ui
77   FormHPContainer.ui
78   FormEachLoop.ui
79   FormEditItem.ui
80   FormEditTree.ui
81   FormLoop.ui
82   FormSchemaView.ui
83   FormUndoRedo.ui
84   LogViewer.ui
85   TablePorts.ui
86   TableSwitch.ui
87   CaseSwitch.ui
88   FormOptimizerLoop.ui
89   )
90
91 # --- headers ---
92
93 SET(GenericGui_HEADERS
94   )
95
96 # header files / to be processed by moc
97 SET(_moc_HEADERS
98   CaseSwitch.hxx
99   EditionBloc.hxx
100   EditionComponent.hxx
101   EditionContainer.hxx
102   EditionControlLink.hxx
103   EditionDataLink.hxx
104   EditionDataType.hxx
105   EditionElementaryNode.hxx
106   EditionForEachLoop.hxx
107   EditionOptimizerLoop.hxx
108   EditionInputPort.hxx
109   EditionLoop.hxx
110   EditionNode.hxx
111   EditionOutNode.hxx
112   EditionOutputPort.hxx
113   EditionPresetNode.hxx
114   EditionProc.hxx
115   EditionPyFunc.hxx
116   EditionSalomeNode.hxx
117   EditionScript.hxx
118   EditionStudyInNode.hxx
119   EditionStudyOutNode.hxx
120   EditionSwitch.hxx
121   EditionWhile.hxx
122   FormComponent.hxx
123   FormContainerBase.hxx
124   FormContainer.hxx
125   FormHPContainer.hxx
126   FormAdvParamContainer.hxx
127   FormContainerDecorator.hxx
128   FormEachLoop.hxx
129   FormEditItem.hxx
130   FormEditTree.hxx
131   FormLoop.hxx
132   FormOptimizerLoop.hxx
133   FormSchemaView.hxx
134   FormUndoRedo.hxx
135   GenericGui.hxx
136   GraphicsView.hxx
137   ItemEdition.hxx
138   ListJobs_GUI.hxx
139   LogViewer.hxx
140   Menus.hxx
141   PropertyEditor.hxx
142   SchemaComponentItem.hxx
143   SchemaComposedNodeItem.hxx
144   SchemaContainerItem.hxx
145   SchemaDataTypeItem.hxx
146   SchemaDirContainersItem.hxx
147   SchemaDirLinksItem.hxx
148   SchemaDirTypesItem.hxx
149   SchemaInPortItem.hxx
150   SchemaItem.hxx
151   SchemaLinkItem.hxx
152   SchemaModel.hxx
153   SchemaNodeItem.hxx
154   SchemaOutPortItem.hxx
155   SchemaProcItem.hxx
156   SchemaReferenceItem.hxx
157   TablePortsEdition.hxx
158   TableSwitch.hxx
159   TreeView.hxx
160   YACSWidgets.hxx
161   ValueDelegate.hxx
162   )
163
164 # header files / uic wrappings
165 QT_WRAP_UIC(_uic_HEADERS ${_uic_files})
166
167 # --- sources ---
168
169 # sources / moc wrappings
170 QT_WRAP_MOC(_moc_SOURCES ${_moc_HEADERS})
171
172 SET(GenericGui_SOURCES
173   GenericGuiExport.hxx
174   CaseSwitch.hxx
175   CaseSwitch.cxx
176   CatalogWidget.hxx
177   CatalogWidget.cxx
178   EditionBloc.hxx
179   EditionBloc.cxx
180   EditionComponent.hxx
181   EditionComponent.cxx            
182   EditionContainer.hxx            
183   EditionContainer.cxx
184   EditionControlLink.hxx          
185   EditionControlLink.cxx          
186   EditionDataLink.hxx             
187   EditionDataLink.cxx             
188   EditionDataType.hxx             
189   EditionDataType.cxx             
190   EditionElementaryNode.hxx       
191   EditionElementaryNode.cxx       
192   EditionForEachLoop.hxx          
193   EditionForEachLoop.cxx          
194   EditionOptimizerLoop.hxx        
195   EditionOptimizerLoop.cxx        
196   EditionInputPort.hxx            
197   EditionInputPort.cxx            
198   EditionLoop.hxx                 
199   EditionLoop.cxx                 
200   EditionNode.hxx                 
201   EditionNode.cxx                 
202   EditionOutNode.hxx              
203   EditionOutNode.cxx              
204   EditionOutputPort.hxx           
205   EditionOutputPort.cxx           
206   EditionPresetNode.hxx           
207   EditionPresetNode.cxx           
208   EditionProc.hxx                 
209   EditionProc.cxx                 
210   EditionPyFunc.hxx               
211   EditionPyFunc.cxx               
212   EditionSalomeNode.hxx           
213   EditionSalomeNode.cxx           
214   EditionScript.hxx               
215   EditionScript.cxx               
216   EditionStudyInNode.hxx          
217   EditionStudyInNode.cxx          
218   EditionStudyOutNode.hxx         
219   EditionStudyOutNode.cxx         
220   EditionSwitch.hxx               
221   EditionSwitch.cxx               
222   EditionWhile.hxx                
223   EditionWhile.cxx                
224   FormComponent.hxx               
225   FormComponent.cxx               
226   FormContainer.hxx               
227   FormContainer.cxx
228   FormHPContainer.hxx 
229   FormHPContainer.cxx
230   FormContainerBase.hxx
231   FormContainerBase.cxx
232   FormAdvParamContainer.hxx 
233   FormAdvParamContainer.cxx   
234   FormContainerDecorator.hxx               
235   FormContainerDecorator.cxx        
236   FormEachLoop.hxx                
237   FormEachLoop.cxx                
238   FormEditItem.hxx                
239   FormEditItem.cxx                
240   FormEditTree.hxx                
241   FormEditTree.cxx                
242   FormLoop.hxx                    
243   FormLoop.cxx                    
244   FormOptimizerLoop.hxx           
245   FormOptimizerLoop.cxx           
246   FormSchemaView.hxx              
247   FormSchemaView.cxx              
248   FormUndoRedo.hxx                
249   FormUndoRedo.cxx                
250   GenericGui.hxx                  
251   GenericGui.cxx                  
252   GraphicsView.hxx                
253   GraphicsView.cxx                
254   GuiEditor.hxx                   
255   GuiEditor.cxx                   
256   GuiExecutor.hxx                 
257   GuiExecutor.cxx                 
258   GuiObserver_i.hxx               
259   GuiObserver_i.cxx               
260   ItemEdition.hxx                 
261   ItemEdition.cxx                 
262   ItemMimeData.hxx                
263   ItemMimeData.cxx                
264   LinkAStar.hxx                   
265   LinkAStar.cxx                   
266   LinkMatrix.hxx                  
267   LinkMatrix.cxx                  
268   ListJobs_GUI.hxx                
269   ListJobs_GUI.cxx                
270   LogViewer.hxx                   
271   LogViewer.cxx                   
272   Menus.hxx                       
273   Menus.cxx                       
274   Message.hxx                     
275   Message.cxx                     
276   PropertyEditor.hxx              
277   PropertyEditor.cxx              
278   QtGuiContext.hxx                
279   QtGuiContext.cxx                
280   Resource.hxx                    
281   Resource.cxx                    
282   SceneComposedNodeItem.hxx       
283   SceneComposedNodeItem.cxx       
284   SceneCtrlInPortItem.hxx         
285   SceneCtrlInPortItem.cxx         
286   SceneCtrlLinkItem.hxx           
287   SceneCtrlLinkItem.cxx           
288   SceneCtrlOutPortItem.hxx        
289   SceneCtrlOutPortItem.cxx        
290   SceneCtrlPortItem.hxx           
291   SceneCtrlPortItem.cxx           
292   Scene.cxx                       
293   Scene.hxx                       
294   SceneBlocItem.hxx               
295   SceneBlocItem.cxx               
296   SceneDataPortItem.hxx           
297   SceneDataPortItem.cxx           
298   SceneDSLinkItem.hxx             
299   SceneDSLinkItem.cxx             
300   SceneElementaryNodeItem.hxx     
301   SceneElementaryNodeItem.cxx     
302   SceneHeaderItem.hxx             
303   SceneHeaderItem.cxx             
304   SceneHeaderNodeItem.hxx         
305   SceneHeaderNodeItem.cxx         
306   SceneInPortItem.hxx             
307   SceneInPortItem.cxx             
308   SceneItem.hxx                   
309   SceneItem.cxx                   
310   SceneLinkItem.hxx               
311   SceneLinkItem.cxx               
312   SceneNodeItem.hxx               
313   SceneNodeItem.cxx               
314   SceneObserverItem.hxx           
315   SceneObserverItem.cxx           
316   SceneOutPortItem.hxx            
317   SceneOutPortItem.cxx            
318   ScenePortItem.hxx               
319   ScenePortItem.cxx               
320   SceneProcItem.hxx               
321   SceneProcItem.cxx               
322   SceneProgressItem.hxx
323   SceneProgressItem.cxx
324   SceneTextItem.hxx               
325   SceneTextItem.cxx               
326   SchemaComponentItem.hxx         
327   SchemaComponentItem.cxx         
328   SchemaComposedNodeItem.hxx      
329   SchemaComposedNodeItem.cxx      
330   SchemaContainerItem.hxx         
331   SchemaContainerItem.cxx         
332   SchemaDataTypeItem.hxx          
333   SchemaDataTypeItem.cxx          
334   SchemaDirContainersItem.hxx     
335   SchemaDirContainersItem.cxx     
336   SchemaDirLinksItem.hxx          
337   SchemaDirLinksItem.cxx          
338   SchemaDirTypesItem.hxx          
339   SchemaDirTypesItem.cxx          
340   SchemaInPortItem.hxx            
341   SchemaInPortItem.cxx            
342   SchemaItem.hxx                  
343   SchemaItem.cxx                  
344   SchemaLinkItem.hxx              
345   SchemaLinkItem.cxx              
346   SchemaModel.hxx                 
347   SchemaModel.cxx                 
348   SchemaNodeItem.hxx              
349   SchemaNodeItem.cxx              
350   SchemaOutPortItem.hxx           
351   SchemaOutPortItem.cxx           
352   SchemaProcItem.hxx              
353   SchemaProcItem.cxx              
354   SchemaReferenceItem.hxx         
355   SchemaReferenceItem.cxx         
356   TablePortsEdition.hxx           
357   TablePortsEdition.cxx           
358   TableSwitch.hxx                 
359   TableSwitch.cxx                 
360   TreeView.hxx                    
361   TreeView.cxx                    
362   ValueDelegate.hxx               
363   ValueDelegate.cxx               
364   VisitorSaveGuiSchema.hxx        
365   VisitorSaveGuiSchema.cxx        
366   YACSWidgets.hxx                 
367   YACSWidgets.cxx                 
368   YACSGuiLoader.hxx               
369   YACSGuiLoader.cxx
370   ${_moc_SOURCES}
371   ${_uic_files}
372   )
373
374 # --- resources ---
375
376 # resource files / to be processed by lrelease
377 SET(_res_files
378   resources/add_in_study.png
379   resources/add_node.png
380   resources/addRowCols.png
381   resources/arrange_nodes.png
382   resources/autoComputeLink.png
383   resources/block_node.png
384   resources/breakpoints_active.png
385   resources/breakpoints.png
386   resources/centerOnNode.png
387   resources/shrinkExpand.png
388   resources/change_informations.png
389   resources/component.png
390   resources/connect_to_batch_session.png
391   resources/container.png
392   resources/control_link.png
393   resources/control_view.png
394   resources/copy.png
395   resources/cut.png
396   resources/dataflow_view.png
397   resources/data_link.png
398   resources/datastream_view.png
399   resources/delete.png
400   resources/emphasisLink.png
401   resources/execute_in_batch.png
402   resources/export_dataflow.png
403   resources/filter_next_steps.png
404   resources/filter_notification.png
405   resources/folder_cyan.png
406   resources/folder_cyan_open.png
407   resources/force2nodeLink.png
408   resources/full_view.png
409   resources/hideLink.png
410   resources/icon_down.png
411   resources/icon_insert.png
412   resources/icon_minus.png
413   resources/icon_plus.png
414   resources/icon_select.png
415   resources/icon_text.png
416   resources/icon_up.png
417   resources/import_dataflow.png
418   resources/import_superv_dataflow.png
419   resources/in_port.png
420   resources/insert_file.png
421   resources/kill.png
422   resources/load_execution_state.png
423   resources/loop_node.png
424   resources/mode_continue.png
425   resources/modify_dataflow.png
426   resources/modify_superv_dataflow.png
427   resources/ModuleYacs.png
428   resources/new_batch_execution.png
429   resources/new_block_node.png
430   resources/new_corba_component.png
431   resources/new_corba_service_node.png
432   resources/new_cpp_node.png
433   resources/new_dataflow.png
434   resources/new_edition.png
435   resources/new_execution.png
436   resources/new_foreach_loop_node.png
437   resources/new_for_loop_node.png
438   resources/new_from_library_node.png
439   resources/new_inline_function_node.png
440   resources/new_inline_script_node.png
441   resources/new_link.png
442   resources/new_nodenode_service_node.png
443   resources/new_salome_component.png
444   resources/new_salomepy_component.png
445   resources/new_salome_service_node.png
446   resources/new_service_inline_node.png
447   resources/new_switch_loop_node.png
448   resources/new_while_loop_node.png
449   resources/new_xml_node.png
450   resources/node.png
451   resources/ob_service_node.png
452   resources/out_port.png
453   resources/paste.png
454   resources/pause.png
455   resources/rebuild_links.png
456   resources/redo.png
457   resources/reload.png
458   resources/remote_run.png
459   resources/reset.png
460   resources/resume.png
461   resources/run_active.png
462   resources/run_object.png
463   resources/run.png
464   resources/batch.png
465   resources/sample.png
466   resources/save_dataflow.png
467   resources/save_dataflow_state.png
468   resources/schema.png
469   resources/showLink.png
470   resources/simplifyLink.png
471   resources/step_by_step_active.png
472   resources/step_by_step.png
473   resources/straightLink.png
474   resources/stream_link.png
475   resources/suspend_resume.png
476   resources/switch_node.png
477   resources/table_view.png
478   resources/toggle_stop_on_error.png
479   resources/toggleVisibility.png
480   resources/undo.png
481   resources/whatsThis.png
482   resources/zoomToBloc.png
483 )
484 # --- rules ---
485
486 ADD_LIBRARY(GenericGui ${GenericGui_SOURCES})
487 TARGET_LINK_LIBRARIES(GenericGui ${_link_LIBRARIES})
488 INSTALL(TARGETS GenericGui EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
489
490 INSTALL(FILES ${_res_files} DESTINATION ${SALOME_YACS_INSTALL_RES_DATA})