Salome HOME
Compilation on Windows
[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 # 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   -DYACS_PTHREAD
50   ${PYTHON_DEFINITIONS}
51   ${GRAPHVIZ_DEFINITIONS}
52   ${OMNIORB_DEFINITIONS}
53   ${KERNEL_DEFINITIONS}
54   ${GUI_DEFINITIONS}
55   )
56 IF(WIN32)
57   ADD_DEFINITIONS(-DNOGDI)
58 ENDIF(WIN32)
59
60 # libraries to link to
61 SET(_link_LIBRARIES
62   ${QT_LIBRARIES}
63   ${QSCINTILLA_LIBRARIES}
64   YACSRuntimeSALOME
65   YACSloader
66   SalomeWrap
67   HMI
68   SalomeResourcesManager
69   ${EXPAT_LIBRARIES}
70   ${LIBXML2_LIBRARIES}
71   ${GRAPHVIZ_LIBRARIES}
72   )
73
74 # --- resources ---
75
76 # resource files / to be processed by uic
77 SET(_uic_files
78   FormComponent.ui
79   FormContainer.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   FormContainer.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   FormEachLoop.hxx                
227   FormEachLoop.cxx                
228   FormEditItem.hxx                
229   FormEditItem.cxx                
230   FormEditTree.hxx                
231   FormEditTree.cxx                
232   FormLoop.hxx                    
233   FormLoop.cxx                    
234   FormOptimizerLoop.hxx           
235   FormOptimizerLoop.cxx           
236   FormSchemaView.hxx              
237   FormSchemaView.cxx              
238   FormUndoRedo.hxx                
239   FormUndoRedo.cxx                
240   GenericGui.hxx                  
241   GenericGui.cxx                  
242   GraphicsView.hxx                
243   GraphicsView.cxx                
244   GuiEditor.hxx                   
245   GuiEditor.cxx                   
246   GuiExecutor.hxx                 
247   GuiExecutor.cxx                 
248   GuiObserver_i.hxx               
249   GuiObserver_i.cxx               
250   ItemEdition.hxx                 
251   ItemEdition.cxx                 
252   ItemMimeData.hxx                
253   ItemMimeData.cxx                
254   LinkAStar.hxx                   
255   LinkAStar.cxx                   
256   LinkMatrix.hxx                  
257   LinkMatrix.cxx                  
258   ListJobs_GUI.hxx                
259   ListJobs_GUI.cxx                
260   LogViewer.hxx                   
261   LogViewer.cxx                   
262   Menus.hxx                       
263   Menus.cxx                       
264   Message.hxx                     
265   Message.cxx                     
266   PropertyEditor.hxx              
267   PropertyEditor.cxx              
268   QtGuiContext.hxx                
269   QtGuiContext.cxx                
270   Resource.hxx                    
271   Resource.cxx                    
272   SceneComposedNodeItem.hxx       
273   SceneComposedNodeItem.cxx       
274   SceneCtrlInPortItem.hxx         
275   SceneCtrlInPortItem.cxx         
276   SceneCtrlLinkItem.hxx           
277   SceneCtrlLinkItem.cxx           
278   SceneCtrlOutPortItem.hxx        
279   SceneCtrlOutPortItem.cxx        
280   SceneCtrlPortItem.hxx           
281   SceneCtrlPortItem.cxx           
282   Scene.cxx                       
283   Scene.hxx                       
284   SceneBlocItem.hxx               
285   SceneBlocItem.cxx               
286   SceneDataPortItem.hxx           
287   SceneDataPortItem.cxx           
288   SceneDSLinkItem.hxx             
289   SceneDSLinkItem.cxx             
290   SceneElementaryNodeItem.hxx     
291   SceneElementaryNodeItem.cxx     
292   SceneHeaderItem.hxx             
293   SceneHeaderItem.cxx             
294   SceneHeaderNodeItem.hxx         
295   SceneHeaderNodeItem.cxx         
296   SceneInPortItem.hxx             
297   SceneInPortItem.cxx             
298   SceneItem.hxx                   
299   SceneItem.cxx                   
300   SceneLinkItem.hxx               
301   SceneLinkItem.cxx               
302   SceneNodeItem.hxx               
303   SceneNodeItem.cxx               
304   SceneObserverItem.hxx           
305   SceneObserverItem.cxx           
306   SceneOutPortItem.hxx            
307   SceneOutPortItem.cxx            
308   ScenePortItem.hxx               
309   ScenePortItem.cxx               
310   SceneProcItem.hxx               
311   SceneProcItem.cxx               
312   SceneTextItem.hxx               
313   SceneTextItem.cxx               
314   SchemaComponentItem.hxx         
315   SchemaComponentItem.cxx         
316   SchemaComposedNodeItem.hxx      
317   SchemaComposedNodeItem.cxx      
318   SchemaContainerItem.hxx         
319   SchemaContainerItem.cxx         
320   SchemaDataTypeItem.hxx          
321   SchemaDataTypeItem.cxx          
322   SchemaDirContainersItem.hxx     
323   SchemaDirContainersItem.cxx     
324   SchemaDirLinksItem.hxx          
325   SchemaDirLinksItem.cxx          
326   SchemaDirTypesItem.hxx          
327   SchemaDirTypesItem.cxx          
328   SchemaInPortItem.hxx            
329   SchemaInPortItem.cxx            
330   SchemaItem.hxx                  
331   SchemaItem.cxx                  
332   SchemaLinkItem.hxx              
333   SchemaLinkItem.cxx              
334   SchemaModel.hxx                 
335   SchemaModel.cxx                 
336   SchemaNodeItem.hxx              
337   SchemaNodeItem.cxx              
338   SchemaOutPortItem.hxx           
339   SchemaOutPortItem.cxx           
340   SchemaProcItem.hxx              
341   SchemaProcItem.cxx              
342   SchemaReferenceItem.hxx         
343   SchemaReferenceItem.cxx         
344   TablePortsEdition.hxx           
345   TablePortsEdition.cxx           
346   TableSwitch.hxx                 
347   TableSwitch.cxx                 
348   TreeView.hxx                    
349   TreeView.cxx                    
350   ValueDelegate.hxx               
351   ValueDelegate.cxx               
352   VisitorSaveGuiSchema.hxx        
353   VisitorSaveGuiSchema.cxx        
354   YACSWidgets.hxx                 
355   YACSWidgets.cxx                 
356   YACSGuiLoader.hxx               
357   YACSGuiLoader.cxx
358   ${_moc_SOURCES}
359   ${_uic_files}
360   )
361
362 # --- resources ---
363
364 # resource files / to be processed by lrelease
365 SET(_res_files
366   resources/add_in_study.png
367   resources/add_node.png
368   resources/addRowCols.png
369   resources/arrange_nodes.png
370   resources/autoComputeLink.png
371   resources/block_node.png
372   resources/breakpoints_active.png
373   resources/breakpoints.png
374   resources/centerOnNode.png
375   resources/shrinkExpand.png
376   resources/change_informations.png
377   resources/component.png
378   resources/connect_to_batch_session.png
379   resources/container.png
380   resources/control_link.png
381   resources/control_view.png
382   resources/copy.png
383   resources/cut.png
384   resources/dataflow_view.png
385   resources/data_link.png
386   resources/datastream_view.png
387   resources/delete.png
388   resources/emphasisLink.png
389   resources/execute_in_batch.png
390   resources/export_dataflow.png
391   resources/filter_next_steps.png
392   resources/filter_notification.png
393   resources/folder_cyan.png
394   resources/folder_cyan_open.png
395   resources/force2nodeLink.png
396   resources/full_view.png
397   resources/hideLink.png
398   resources/icon_down.png
399   resources/icon_insert.png
400   resources/icon_minus.png
401   resources/icon_plus.png
402   resources/icon_select.png
403   resources/icon_text.png
404   resources/icon_up.png
405   resources/import_dataflow.png
406   resources/import_superv_dataflow.png
407   resources/in_port.png
408   resources/insert_file.png
409   resources/kill.png
410   resources/load_execution_state.png
411   resources/loop_node.png
412   resources/mode_continue.png
413   resources/modify_dataflow.png
414   resources/modify_superv_dataflow.png
415   resources/ModuleYacs.png
416   resources/new_batch_execution.png
417   resources/new_block_node.png
418   resources/new_corba_component.png
419   resources/new_corba_service_node.png
420   resources/new_cpp_node.png
421   resources/new_dataflow.png
422   resources/new_edition.png
423   resources/new_execution.png
424   resources/new_foreach_loop_node.png
425   resources/new_for_loop_node.png
426   resources/new_from_library_node.png
427   resources/new_inline_function_node.png
428   resources/new_inline_script_node.png
429   resources/new_link.png
430   resources/new_nodenode_service_node.png
431   resources/new_salome_component.png
432   resources/new_salomepy_component.png
433   resources/new_salome_service_node.png
434   resources/new_service_inline_node.png
435   resources/new_switch_loop_node.png
436   resources/new_while_loop_node.png
437   resources/new_xml_node.png
438   resources/node.png
439   resources/ob_service_node.png
440   resources/out_port.png
441   resources/paste.png
442   resources/pause.png
443   resources/rebuild_links.png
444   resources/redo.png
445   resources/reload.png
446   resources/remote_run.png
447   resources/reset.png
448   resources/resume.png
449   resources/run_active.png
450   resources/run_object.png
451   resources/run.png
452   resources/batch.png
453   resources/sample.png
454   resources/save_dataflow.png
455   resources/save_dataflow_state.png
456   resources/schema.png
457   resources/showLink.png
458   resources/simplifyLink.png
459   resources/step_by_step_active.png
460   resources/step_by_step.png
461   resources/straightLink.png
462   resources/stream_link.png
463   resources/suspend_resume.png
464   resources/switch_node.png
465   resources/table_view.png
466   resources/toggle_stop_on_error.png
467   resources/toggleVisibility.png
468   resources/undo.png
469   resources/whatsThis.png
470   resources/zoomToBloc.png
471 )
472 # --- rules ---
473
474 ADD_LIBRARY(GenericGui ${GenericGui_SOURCES})
475 TARGET_LINK_LIBRARIES(GenericGui ${_link_LIBRARIES})
476 INSTALL(TARGETS GenericGui EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
477
478 INSTALL(FILES ${_res_files} DESTINATION ${SALOME_YACS_INSTALL_RES_DATA})