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