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