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