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