Salome HOME
Error messages processing on librarry loading under windows platform
[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_ContextMenuMgr.h
10         XGUI_DataTreeModel.h
11         XGUI_Displayer.h
12         XGUI_DocumentDataModel.h
13         XGUI_ErrorDialog.h
14         XGUI_ModuleConnector.h
15         XGUI_ObjectsBrowser.h
16         XGUI_OperationMgr.h
17         XGUI_PartDataModel.h
18         XGUI_PropertyPanel.h
19         XGUI_QtEvents.h
20         XGUI_SalomeConnector.h
21         XGUI_Selection.h
22         XGUI_SelectionMgr.h
23         XGUI_Tools.h
24         XGUI_ViewerProxy.h
25         XGUI_Workshop.h
26         XGUI_HistoryMenu.h
27 )
28
29 SET(PROJECT_AUTOMOC 
30     ${CMAKE_CURRENT_BINARY_DIR}/XGUI_automoc.cpp
31 )
32
33 SET(PROJECT_SOURCES
34         XGUI_ActionsMgr.cpp
35         XGUI_ContextMenuMgr.cpp
36         XGUI_Displayer.cpp
37         XGUI_DocumentDataModel.cpp
38         XGUI_ErrorDialog.cpp
39         XGUI_ModuleConnector.cpp
40         XGUI_ObjectsBrowser.cpp
41         XGUI_OperationMgr.cpp
42         XGUI_PartDataModel.cpp
43         XGUI_PropertyPanel.cpp
44         XGUI_QtEvents.cpp
45         XGUI_Selection.cpp
46         XGUI_SelectionMgr.cpp
47         XGUI_Tools.cpp
48         XGUI_ViewerProxy.cpp
49         XGUI_Workshop.cpp
50         XGUI_HistoryMenu.cpp
51 )
52
53 SET(PROJECT_RESOURCES 
54     XGUI_pictures.qrc
55 )
56
57 SET(PREFERENCES_XML
58         NewGeom.xml
59 )
60
61 SET(TEXT_RESOURCES
62         XGUI_msg_fr.ts
63 )
64
65 SET(PROJECT_LIBRARIES
66     Events
67     Config
68         ModelAPI
69         ModuleBase
70         AppElements
71         ${QT_LIBRARIES}
72         ${CAS_VIEWER}
73         ${CAS_KERNEL}
74         ${CAS_SHAPE}
75         ${PYTHON_LIBRARIES}
76         ${PyConsole}
77         ${PyInterp}
78         ${suit}
79         ${qtx}
80 )
81
82 IF(WIN32) 
83     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} opengl32)
84 ELSE()
85     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} GL)
86 ENDIF()
87
88 QT4_ADD_RESOURCES(PROJECT_COMPILED_RESOURCES ${PROJECT_RESOURCES})
89 #QT5_ADD_TRANSLATION(QM_RESOURCES ${TEXT_RESOURCES})
90
91 QT4_CREATE_TRANSLATION(QM_RESOURCES 
92                                            ${PROJECT_SOURCES}
93                                            ${TEXT_RESOURCES}
94                                            OPTIONS -extensions cpp -no-recursive
95                                            )
96
97
98 SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES} ${QM_RESOURCES})
99 #SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES})
100 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES} ${PROJECT_RESOURCES} ${PREFERENCES_XML})
101
102 ADD_DEFINITIONS( -DXGUI_EXPORTS ${CAS_DEFINITIONS} )
103
104 INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/src/Events
105                                          ${PROJECT_SOURCE_DIR}/src/Config
106                                          ${PROJECT_SOURCE_DIR}/src/ModelAPI
107                                          ${PROJECT_SOURCE_DIR}/src/GeomAPI
108                                          ${PROJECT_SOURCE_DIR}/src/ModuleBase
109 #                                        ${PROJECT_SOURCE_DIR}/src/PartSetPlugin
110                                          ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
111                                          ${PROJECT_SOURCE_DIR}/src/AppElements
112                                          ${CAS_INCLUDE_DIRS}
113                                          ${SUIT_INCLUDE})
114
115 LINK_DIRECTORIES($ENV{PYTHON_LIB_DIR})
116
117 ADD_LIBRARY(XGUI SHARED 
118         ${PROJECT_SOURCES} 
119         ${PROJECT_HEADERS} 
120         ${PROJECT_COMPILED_RESOURCES} 
121         ${TEXT_RESOURCES}
122         ${QM_RESOURCES}
123         ${PREFERENCES_XML}
124 )
125
126 ADD_DEPENDENCIES(XGUI ModelAPI)
127
128 # The Qt5Widgets_LIBRARIES variable also includes QtGui and QtCore
129 TARGET_LINK_LIBRARIES(XGUI ${PROJECT_LIBRARIES})
130
131 INSTALL(TARGETS XGUI DESTINATION bin)
132 INSTALL(FILES ${QM_RESOURCES} DESTINATION bin)
133 INSTALL(FILES ${PREFERENCES_XML} DESTINATION resources)