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