Salome HOME
#2027 Sketcher Trim feature - highlight should be cleared when the mouse is moved...
[modules/shaper.git] / src / XGUI / CMakeLists.txt
1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 INCLUDE(UseQtExt)
4
5 # additional include directories
6 INCLUDE_DIRECTORIES(${QT_INCLUDES})
7
8 # additional preprocessor / compiler flags
9 ADD_DEFINITIONS(${QT_DEFINITIONS})
10
11 SET(PROJECT_HEADERS
12     XGUI.h
13     XGUI_ActionsMgr.h
14     XGUI_ColorDialog.h
15     XGUI_ContextMenuMgr.h
16     XGUI_CustomPrs.h
17     XGUI_DataModel.h
18     XGUI_DeflectionDialog.h
19     XGUI_Displayer.h
20     XGUI_ErrorDialog.h
21     XGUI_ErrorMgr.h
22     XGUI_HistoryMenu.h
23     XGUI_MenuGroup.h
24     XGUI_MenuMgr.h
25     XGUI_MenuWorkbench.h
26     XGUI_ModuleConnector.h
27     XGUI_ObjectsBrowser.h
28     XGUI_OperationMgr.h
29     XGUI_PropertyPanel.h
30     XGUI_QtEvents.h
31     XGUI_SalomeConnector.h
32     XGUI_Selection.h
33     XGUI_SelectionMgr.h
34     XGUI_Tools.h
35     XGUI_ViewerProxy.h
36     XGUI_Workshop.h
37     XGUI_WorkshopListener.h
38 )
39
40 SET(PROJECT_MOC_HEADERS
41     XGUI_ActionsMgr.h
42     XGUI_ColorDialog.h
43     XGUI_ContextMenuMgr.h
44     XGUI_DataModel.h
45     XGUI_DeflectionDialog.h
46     XGUI_Displayer.h
47     XGUI_ErrorDialog.h
48     XGUI_ErrorMgr.h
49     XGUI_HistoryMenu.h
50     XGUI_ModuleConnector.h
51     XGUI_ObjectsBrowser.h
52     XGUI_OperationMgr.h
53     XGUI_PropertyPanel.h
54     XGUI_SelectionMgr.h
55     XGUI_ViewerProxy.h
56     XGUI_Workshop.h
57     XGUI_WorkshopListener.h
58 )
59
60 # sources / moc wrappings
61 QT_WRAP_MOC(PROJECT_AUTOMOC ${PROJECT_MOC_HEADERS})
62
63 SET(PROJECT_SOURCES
64     XGUI_ActionsMgr.cpp
65     XGUI_ColorDialog.cpp
66     XGUI_ContextMenuMgr.cpp
67     XGUI_CustomPrs.cpp
68     XGUI_DataModel.cpp
69     XGUI_DeflectionDialog.cpp
70     XGUI_Displayer.cpp
71     XGUI_ErrorDialog.cpp
72     XGUI_ErrorMgr.cpp
73     XGUI_HistoryMenu.cpp
74     XGUI_MenuGroup.cpp
75     XGUI_MenuMgr.cpp
76     XGUI_MenuWorkbench.cpp
77     XGUI_ModuleConnector.cpp
78     XGUI_ObjectsBrowser.cpp
79     XGUI_OperationMgr.cpp
80     XGUI_PropertyPanel.cpp
81     XGUI_QtEvents.cpp
82     XGUI_SalomeConnector.cpp
83     XGUI_Selection.cpp
84     XGUI_SelectionMgr.cpp
85     XGUI_Tools.cpp
86     XGUI_ViewerProxy.cpp
87     XGUI_Workshop.cpp
88     XGUI_WorkshopListener.cpp
89 )
90
91 SET(PROJECT_RESOURCES
92     XGUI_pictures.qrc
93 )
94
95 SET(PREFERENCES_XML
96     SHAPER.xml
97 )
98
99 SET(TEXT_RESOURCES
100     XGUI_msg_fr.ts
101 )
102
103 SET(PROJECT_LIBRARIES
104     Events
105     Config
106     ModelAPI
107     ModuleBase
108     ${QT_LIBRARIES}
109     ${CAS_VIEWER}
110     ${CAS_KERNEL}
111     ${CAS_SHAPE}
112     ${PYTHON_LIBRARIES}
113     ${PyConsole}
114     ${PyInterp}
115     ${suit}
116     ${qtx}
117 )
118
119 IF(NOT ${HAVE_SALOME})
120     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} AppElements)
121 ENDIF(NOT ${HAVE_SALOME})
122
123
124 IF(WIN32)
125     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} opengl32)
126 ELSE()
127     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} GL)
128 ENDIF()
129
130 QT_ADD_RESOURCES(PROJECT_COMPILED_RESOURCES ${PROJECT_RESOURCES})
131 #QT5_ADD_TRANSLATION(QM_RESOURCES ${TEXT_RESOURCES})
132 # QT4_CREATE_TRANSLATION(QM_RESOURCES
133 #                        ${PROJECT_SOURCES}
134 #                        ${TEXT_RESOURCES}
135 #                        OPTIONS -extensions cpp -no-recursive
136 #                        )
137
138
139 SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES} ${QM_RESOURCES})
140 #SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES})
141 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES} ${PROJECT_RESOURCES} ${PREFERENCES_XML})
142
143 ADD_DEFINITIONS( -DXGUI_EXPORTS ${CAS_DEFINITIONS} )
144
145 SET(PROJECT_INCLUDES
146     ${PROJECT_SOURCE_DIR}/src/Events
147     ${PROJECT_SOURCE_DIR}/src/Config
148     ${PROJECT_SOURCE_DIR}/src/ModelAPI
149     ${PROJECT_SOURCE_DIR}/src/GeomAPI
150     ${PROJECT_SOURCE_DIR}/src/ModuleBase
151     ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
152     ${CAS_INCLUDE_DIRS}
153     ${SUIT_INCLUDE})
154
155 IF(${HAVE_SALOME})
156   INCLUDE_DIRECTORIES(${SALOME_KERNEL_INCLUDE})
157 ENDIF(${HAVE_SALOME})
158
159 IF(NOT ${HAVE_SALOME})
160     SET(PROJECT_INCLUDES ${PROJECT_INCLUDES} ${APPELEMENTS_INCLUDE_DIR})
161 ENDIF(NOT ${HAVE_SALOME})
162
163 IF(TKTInspector)
164     message("TINSPECTOR is defined")
165     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} ${TKTInspector} ${TKVInspector})
166     SET(PROJECT_INCLUDES ${PROJECT_INCLUDES} ${TINSPECTOR_INCLUDE_DIR})
167
168     ADD_DEFINITIONS(-DTINSPECTOR)
169 ENDIF()
170
171 INCLUDE_DIRECTORIES(${PROJECT_INCLUDES})
172
173 LINK_DIRECTORIES($ENV{PYTHON_LIB_DIR})
174
175 ADD_LIBRARY(XGUI SHARED
176     ${PROJECT_SOURCES}
177     ${PROJECT_HEADERS}
178     ${PROJECT_COMPILED_RESOURCES}
179     ${TEXT_RESOURCES}
180     ${QM_RESOURCES}
181     ${PREFERENCES_XML}
182     ${PROJECT_AUTOMOC}
183 )
184
185 ADD_DEPENDENCIES(XGUI ModelAPI)
186
187 # The Qt5Widgets_LIBRARIES variable also includes QtGui and QtCore
188 TARGET_LINK_LIBRARIES(XGUI ${PROJECT_LIBRARIES})
189
190 INSTALL(TARGETS XGUI DESTINATION ${SHAPER_INSTALL_BIN})
191 INSTALL(FILES ${QM_RESOURCES} DESTINATION ${SHAPER_INSTALL_QM_RESOURCES})
192 INSTALL(FILES ${PREFERENCES_XML} DESTINATION ${SHAPER_INSTALL_RESOURCES})
193 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_RESOURCES})