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