Salome HOME
Merge branch 'omu/graphviz238'
[modules/yacs.git] / src / genericgui / CMakeLists.txt
1 # Copyright (C) 2012-2014  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 # --- options ---
21
22 # additional include directories
23 INCLUDE_DIRECTORIES(
24   ${PYTHON_INCLUDE_DIR}
25   ${EXPAT_INCLUDE_DIR}
26   ${OMNIORB_INCLUDE_DIR}
27   ${LIBXML2_INCLUDE_DIR}
28   ${GRAPHVIZ_INCLUDE_DIRS}
29   ${QT_INCLUDES}
30   ${QSCINTILLA_INCLUDE_DIRS}
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   ${QSCINTILLA_LIBRARIES}
61   YACSRuntimeSALOME
62   YACSloader
63   SalomeWrap
64   HMI
65   SalomeResourcesManager
66   ${EXPAT_LIBRARIES}
67   ${LIBXML2_LIBRARIES}
68   ${GRAPHVIZ_LIBRARIES}
69   )
70
71 # --- resources ---
72
73 # resource files / to be processed by uic
74 SET(_uic_files
75   FormComponent.ui
76   FormContainer.ui
77   FormAdvParamContainer.ui
78   FormParamContainer.ui
79   FormHPContainer.ui
80   FormEachLoop.ui
81   FormEditItem.ui
82   FormEditTree.ui
83   FormLoop.ui
84   FormSchemaView.ui
85   FormUndoRedo.ui
86   LogViewer.ui
87   TablePorts.ui
88   TableSwitch.ui
89   CaseSwitch.ui
90   FormOptimizerLoop.ui
91   )
92
93 # --- headers ---
94
95 SET(GenericGui_HEADERS
96   )
97
98 # header files / to be processed by moc
99 SET(_moc_HEADERS
100   CaseSwitch.hxx
101   EditionBloc.hxx
102   EditionComponent.hxx
103   EditionContainer.hxx
104   EditionControlLink.hxx
105   EditionDataLink.hxx
106   EditionDataType.hxx
107   EditionElementaryNode.hxx
108   EditionForEachLoop.hxx
109   EditionOptimizerLoop.hxx
110   EditionInputPort.hxx
111   EditionLoop.hxx
112   EditionNode.hxx
113   EditionOutNode.hxx
114   EditionOutputPort.hxx
115   EditionPresetNode.hxx
116   EditionProc.hxx
117   EditionPyFunc.hxx
118   EditionSalomeNode.hxx
119   EditionScript.hxx
120   EditionStudyInNode.hxx
121   EditionStudyOutNode.hxx
122   EditionSwitch.hxx
123   EditionWhile.hxx
124   FormComponent.hxx
125   FormContainerBase.hxx
126   FormContainer.hxx
127   FormHPContainer.hxx
128   FormAdvParamContainer.hxx
129   FormContainerDecorator.hxx
130   FormEachLoop.hxx
131   FormEditItem.hxx
132   FormEditTree.hxx
133   FormLoop.hxx
134   FormOptimizerLoop.hxx
135   FormSchemaView.hxx
136   FormUndoRedo.hxx
137   GenericGui.hxx
138   GraphicsView.hxx
139   ItemEdition.hxx
140   ListJobs_GUI.hxx
141   LogViewer.hxx
142   Menus.hxx
143   PropertyEditor.hxx
144   SchemaComponentItem.hxx
145   SchemaComposedNodeItem.hxx
146   SchemaContainerItem.hxx
147   SchemaDataTypeItem.hxx
148   SchemaDirContainersItem.hxx
149   SchemaDirLinksItem.hxx
150   SchemaDirTypesItem.hxx
151   SchemaInPortItem.hxx
152   SchemaItem.hxx
153   SchemaLinkItem.hxx
154   SchemaModel.hxx
155   SchemaNodeItem.hxx
156   SchemaOutPortItem.hxx
157   SchemaProcItem.hxx
158   SchemaReferenceItem.hxx
159   TablePortsEdition.hxx
160   TableSwitch.hxx
161   TreeView.hxx
162   YACSWidgets.hxx
163   ValueDelegate.hxx
164   )
165
166 # header files / uic wrappings
167 QT4_WRAP_UI(_uic_HEADERS ${_uic_files})
168
169 # --- sources ---
170
171 # sources / moc wrappings
172 QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS})
173
174 SET(GenericGui_SOURCES
175   GenericGuiExport.hxx
176   CaseSwitch.hxx
177   CaseSwitch.cxx
178   CatalogWidget.hxx
179   CatalogWidget.cxx
180   EditionBloc.hxx
181   EditionBloc.cxx
182   EditionComponent.hxx
183   EditionComponent.cxx            
184   EditionContainer.hxx            
185   EditionContainer.cxx
186   EditionControlLink.hxx          
187   EditionControlLink.cxx          
188   EditionDataLink.hxx             
189   EditionDataLink.cxx             
190   EditionDataType.hxx             
191   EditionDataType.cxx             
192   EditionElementaryNode.hxx       
193   EditionElementaryNode.cxx       
194   EditionForEachLoop.hxx          
195   EditionForEachLoop.cxx          
196   EditionOptimizerLoop.hxx        
197   EditionOptimizerLoop.cxx        
198   EditionInputPort.hxx            
199   EditionInputPort.cxx            
200   EditionLoop.hxx                 
201   EditionLoop.cxx                 
202   EditionNode.hxx                 
203   EditionNode.cxx                 
204   EditionOutNode.hxx              
205   EditionOutNode.cxx              
206   EditionOutputPort.hxx           
207   EditionOutputPort.cxx           
208   EditionPresetNode.hxx           
209   EditionPresetNode.cxx           
210   EditionProc.hxx                 
211   EditionProc.cxx                 
212   EditionPyFunc.hxx               
213   EditionPyFunc.cxx               
214   EditionSalomeNode.hxx           
215   EditionSalomeNode.cxx           
216   EditionScript.hxx               
217   EditionScript.cxx               
218   EditionStudyInNode.hxx          
219   EditionStudyInNode.cxx          
220   EditionStudyOutNode.hxx         
221   EditionStudyOutNode.cxx         
222   EditionSwitch.hxx               
223   EditionSwitch.cxx               
224   EditionWhile.hxx                
225   EditionWhile.cxx                
226   FormComponent.hxx               
227   FormComponent.cxx               
228   FormContainer.hxx               
229   FormContainer.cxx
230   FormHPContainer.hxx 
231   FormHPContainer.cxx
232   FormContainerBase.hxx
233   FormContainerBase.cxx
234   FormAdvParamContainer.hxx 
235   FormAdvParamContainer.cxx   
236   FormContainerDecorator.hxx               
237   FormContainerDecorator.cxx        
238   FormEachLoop.hxx                
239   FormEachLoop.cxx                
240   FormEditItem.hxx                
241   FormEditItem.cxx                
242   FormEditTree.hxx                
243   FormEditTree.cxx                
244   FormLoop.hxx                    
245   FormLoop.cxx                    
246   FormOptimizerLoop.hxx           
247   FormOptimizerLoop.cxx           
248   FormSchemaView.hxx              
249   FormSchemaView.cxx              
250   FormUndoRedo.hxx                
251   FormUndoRedo.cxx                
252   GenericGui.hxx                  
253   GenericGui.cxx                  
254   GraphicsView.hxx                
255   GraphicsView.cxx                
256   GuiEditor.hxx                   
257   GuiEditor.cxx                   
258   GuiExecutor.hxx                 
259   GuiExecutor.cxx                 
260   GuiObserver_i.hxx               
261   GuiObserver_i.cxx               
262   ItemEdition.hxx                 
263   ItemEdition.cxx                 
264   ItemMimeData.hxx                
265   ItemMimeData.cxx                
266   LinkAStar.hxx                   
267   LinkAStar.cxx                   
268   LinkMatrix.hxx                  
269   LinkMatrix.cxx                  
270   ListJobs_GUI.hxx                
271   ListJobs_GUI.cxx                
272   LogViewer.hxx                   
273   LogViewer.cxx                   
274   Menus.hxx                       
275   Menus.cxx                       
276   Message.hxx                     
277   Message.cxx                     
278   PropertyEditor.hxx              
279   PropertyEditor.cxx              
280   QtGuiContext.hxx                
281   QtGuiContext.cxx                
282   Resource.hxx                    
283   Resource.cxx                    
284   SceneComposedNodeItem.hxx       
285   SceneComposedNodeItem.cxx       
286   SceneCtrlInPortItem.hxx         
287   SceneCtrlInPortItem.cxx         
288   SceneCtrlLinkItem.hxx           
289   SceneCtrlLinkItem.cxx           
290   SceneCtrlOutPortItem.hxx        
291   SceneCtrlOutPortItem.cxx        
292   SceneCtrlPortItem.hxx           
293   SceneCtrlPortItem.cxx           
294   Scene.cxx                       
295   Scene.hxx                       
296   SceneBlocItem.hxx               
297   SceneBlocItem.cxx               
298   SceneDataPortItem.hxx           
299   SceneDataPortItem.cxx           
300   SceneDSLinkItem.hxx             
301   SceneDSLinkItem.cxx             
302   SceneElementaryNodeItem.hxx     
303   SceneElementaryNodeItem.cxx     
304   SceneHeaderItem.hxx             
305   SceneHeaderItem.cxx             
306   SceneHeaderNodeItem.hxx         
307   SceneHeaderNodeItem.cxx         
308   SceneInPortItem.hxx             
309   SceneInPortItem.cxx             
310   SceneItem.hxx                   
311   SceneItem.cxx                   
312   SceneLinkItem.hxx               
313   SceneLinkItem.cxx               
314   SceneNodeItem.hxx               
315   SceneNodeItem.cxx               
316   SceneObserverItem.hxx           
317   SceneObserverItem.cxx           
318   SceneOutPortItem.hxx            
319   SceneOutPortItem.cxx            
320   ScenePortItem.hxx               
321   ScenePortItem.cxx               
322   SceneProcItem.hxx               
323   SceneProcItem.cxx               
324   SceneProgressItem.hxx
325   SceneProgressItem.cxx
326   SceneTextItem.hxx               
327   SceneTextItem.cxx               
328   SchemaComponentItem.hxx         
329   SchemaComponentItem.cxx         
330   SchemaComposedNodeItem.hxx      
331   SchemaComposedNodeItem.cxx      
332   SchemaContainerItem.hxx         
333   SchemaContainerItem.cxx         
334   SchemaDataTypeItem.hxx          
335   SchemaDataTypeItem.cxx          
336   SchemaDirContainersItem.hxx     
337   SchemaDirContainersItem.cxx     
338   SchemaDirLinksItem.hxx          
339   SchemaDirLinksItem.cxx          
340   SchemaDirTypesItem.hxx          
341   SchemaDirTypesItem.cxx          
342   SchemaInPortItem.hxx            
343   SchemaInPortItem.cxx            
344   SchemaItem.hxx                  
345   SchemaItem.cxx                  
346   SchemaLinkItem.hxx              
347   SchemaLinkItem.cxx              
348   SchemaModel.hxx                 
349   SchemaModel.cxx                 
350   SchemaNodeItem.hxx              
351   SchemaNodeItem.cxx              
352   SchemaOutPortItem.hxx           
353   SchemaOutPortItem.cxx           
354   SchemaProcItem.hxx              
355   SchemaProcItem.cxx              
356   SchemaReferenceItem.hxx         
357   SchemaReferenceItem.cxx         
358   TablePortsEdition.hxx           
359   TablePortsEdition.cxx           
360   TableSwitch.hxx                 
361   TableSwitch.cxx                 
362   TreeView.hxx                    
363   TreeView.cxx                    
364   ValueDelegate.hxx               
365   ValueDelegate.cxx               
366   VisitorSaveGuiSchema.hxx        
367   VisitorSaveGuiSchema.cxx        
368   YACSWidgets.hxx                 
369   YACSWidgets.cxx                 
370   YACSGuiLoader.hxx               
371   YACSGuiLoader.cxx
372   ${_moc_SOURCES}
373   ${_uic_files}
374   )
375
376 # --- resources ---
377
378 # resource files / to be processed by lrelease
379 SET(_res_files
380   resources/add_in_study.png
381   resources/add_node.png
382   resources/addRowCols.png
383   resources/arrange_nodes.png
384   resources/autoComputeLink.png
385   resources/block_node.png
386   resources/breakpoints_active.png
387   resources/breakpoints.png
388   resources/centerOnNode.png
389   resources/shrinkExpand.png
390   resources/change_informations.png
391   resources/component.png
392   resources/connect_to_batch_session.png
393   resources/container.png
394   resources/control_link.png
395   resources/control_view.png
396   resources/copy.png
397   resources/cut.png
398   resources/dataflow_view.png
399   resources/data_link.png
400   resources/datastream_view.png
401   resources/delete.png
402   resources/emphasisLink.png
403   resources/execute_in_batch.png
404   resources/export_dataflow.png
405   resources/filter_next_steps.png
406   resources/filter_notification.png
407   resources/folder_cyan.png
408   resources/folder_cyan_open.png
409   resources/force2nodeLink.png
410   resources/full_view.png
411   resources/hideLink.png
412   resources/icon_down.png
413   resources/icon_insert.png
414   resources/icon_minus.png
415   resources/icon_plus.png
416   resources/icon_select.png
417   resources/icon_text.png
418   resources/icon_up.png
419   resources/import_dataflow.png
420   resources/import_superv_dataflow.png
421   resources/in_port.png
422   resources/insert_file.png
423   resources/kill.png
424   resources/load_execution_state.png
425   resources/loop_node.png
426   resources/mode_continue.png
427   resources/modify_dataflow.png
428   resources/modify_superv_dataflow.png
429   resources/ModuleYacs.png
430   resources/new_batch_execution.png
431   resources/new_block_node.png
432   resources/new_corba_component.png
433   resources/new_corba_service_node.png
434   resources/new_cpp_node.png
435   resources/new_dataflow.png
436   resources/new_edition.png
437   resources/new_execution.png
438   resources/new_foreach_loop_node.png
439   resources/new_for_loop_node.png
440   resources/new_from_library_node.png
441   resources/new_inline_function_node.png
442   resources/new_inline_script_node.png
443   resources/new_link.png
444   resources/new_nodenode_service_node.png
445   resources/new_salome_component.png
446   resources/new_salomepy_component.png
447   resources/new_salome_service_node.png
448   resources/new_service_inline_node.png
449   resources/new_switch_loop_node.png
450   resources/new_while_loop_node.png
451   resources/new_xml_node.png
452   resources/node.png
453   resources/ob_service_node.png
454   resources/out_port.png
455   resources/paste.png
456   resources/pause.png
457   resources/rebuild_links.png
458   resources/redo.png
459   resources/reload.png
460   resources/remote_run.png
461   resources/reset.png
462   resources/resume.png
463   resources/run_active.png
464   resources/run_object.png
465   resources/run.png
466   resources/batch.png
467   resources/sample.png
468   resources/save_dataflow.png
469   resources/save_dataflow_state.png
470   resources/schema.png
471   resources/showLink.png
472   resources/simplifyLink.png
473   resources/step_by_step_active.png
474   resources/step_by_step.png
475   resources/straightLink.png
476   resources/stream_link.png
477   resources/suspend_resume.png
478   resources/switch_node.png
479   resources/table_view.png
480   resources/toggle_stop_on_error.png
481   resources/toggleVisibility.png
482   resources/undo.png
483   resources/whatsThis.png
484   resources/zoomToBloc.png
485 )
486 # --- rules ---
487
488 ADD_LIBRARY(GenericGui ${GenericGui_SOURCES})
489 TARGET_LINK_LIBRARIES(GenericGui ${_link_LIBRARIES})
490 INSTALL(TARGETS GenericGui EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
491
492 INSTALL(FILES ${_res_files} DESTINATION ${SALOME_YACS_INSTALL_RES_DATA})