Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / XGUI / CMakeLists.txt
1 INCLUDE(FindCAS)
2
3 SET(CMAKE_AUTOMOC ON)
4
5 SET(PROJECT_HEADERS
6         XGUI.h
7         XGUI_Command.h
8         XGUI_Displayer.h
9         XGUI_MainMenu.h
10         XGUI_MainWindow.h
11         XGUI_MenuGroupPanel.h
12         XGUI_Module.h
13         XGUI_Tools.h
14         XGUI_Workbench.h
15         XGUI_Workshop.h
16     XGUI_ViewWindow.h
17     XGUI_ViewPort.h
18     XGUI_Viewer.h
19         XGUI_RubberBand.h
20         XGUI_Constants.h
21         XGUI_ViewBackground.h
22         XGUI_WidgetFactory.h
23         XGUI_DocumentDataModel.h
24         XGUI_PartDataModel.h
25         XGUI_ObjectsBrowser.h
26         XGUI_OperationMgr.h
27     XGUI_DataTreeModel.h
28     XGUI_SelectionMgr.h
29     XGUI_SwitchWidget.h
30 )
31
32 SET(PROJECT_AUTOMOC 
33     ${CMAKE_CURRENT_BINARY_DIR}/XGUI_automoc.cpp
34 )
35
36 SET(PROJECT_SOURCES
37         XGUI_Command.cpp
38         XGUI_Displayer.cpp
39         XGUI_MainMenu.cpp
40         XGUI_MainWindow.cpp
41         XGUI_MenuGroupPanel.cpp
42         XGUI_Tools.cpp
43         XGUI_Workbench.cpp
44         XGUI_Workshop.cpp
45     XGUI_ViewWindow.cpp
46     XGUI_ViewPort.cpp
47     XGUI_Viewer.cpp
48         XGUI_RubberBand.cpp
49         XGUI_ViewBackground.cpp
50         XGUI_WidgetFactory.cpp
51         XGUI_DocumentDataModel.cpp
52         XGUI_PartDataModel.cpp
53         XGUI_ObjectsBrowser.cpp
54         XGUI_OperationMgr.cpp
55     XGUI_SelectionMgr.cpp
56     XGUI_SwitchWidget.cpp
57 )
58
59 SET(PROJECT_RESOURCES 
60     XGUI_pictures.qrc
61 )
62
63 #SET(TEXT_RESOURCES
64 #       XGUI_msg_en.ts
65 #)
66
67 SET(PROJECT_LIBRARIES
68     Events
69     Config
70         ${QT_LIBRARIES}
71         ${CAS_VIEWER}
72         ${CAS_KERNEL}
73         PyConsole
74         PyInterp
75         PyEvent
76         ModelAPI
77         ModuleBase
78 )
79
80 IF(WIN32) 
81     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} opengl32)
82 ELSE()
83     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} GL)
84 ENDIF()
85
86 QT4_ADD_RESOURCES(PROJECT_COMPILED_RESOURCES ${PROJECT_RESOURCES})
87 #QT5_ADD_TRANSLATION(QM_RESOURCES ${TEXT_RESOURCES})
88
89 #SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES} ${QM_RESOURCES})
90 SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES})
91 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES} ${PROJECT_RESOURCES})
92
93 ADD_DEFINITIONS( -DXGUI_EXPORTS ${CAS_DEFINITIONS} )
94
95 INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/src/Events
96                                          ${PROJECT_SOURCE_DIR}/src/Config
97                                          ${PROJECT_SOURCE_DIR}/src/PyInterp
98                                          ${PROJECT_SOURCE_DIR}/src/PyConsole
99                                          ${PROJECT_SOURCE_DIR}/src/ModelAPI
100                                          ${PROJECT_SOURCE_DIR}/src/Model
101                                          ${PROJECT_SOURCE_DIR}/src/ModuleBase
102                                          ${CAS_INCLUDE_DIRS})
103
104 LINK_DIRECTORIES($ENV{PYTHON_LIB_DIR})
105
106 ADD_LIBRARY(XGUI SHARED 
107         ${PROJECT_SOURCES} 
108         ${PROJECT_HEADERS} 
109         ${PROJECT_COMPILED_RESOURCES} 
110 )
111
112 ADD_DEPENDENCIES(XGUI ModelAPI)
113
114 # The Qt5Widgets_LIBRARIES variable also includes QtGui and QtCore
115 TARGET_LINK_LIBRARIES(XGUI ${PROJECT_LIBRARIES})
116
117 INSTALL(TARGETS XGUI DESTINATION bin)
118 #INSTALL(FILES ${QM_RESOURCES} DESTINATION bin)