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