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