Salome HOME
Issue #273: Add copyright string
[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 )
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_ContextMenuMgr.cpp
35         XGUI_Displayer.cpp
36         XGUI_DocumentDataModel.cpp
37         XGUI_ErrorDialog.cpp
38         XGUI_ModuleConnector.cpp
39         XGUI_ObjectsBrowser.cpp
40         XGUI_OperationMgr.cpp
41         XGUI_PartDataModel.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 )
50
51 SET(PROJECT_RESOURCES 
52     XGUI_pictures.qrc
53 )
54
55 SET(PREFERENCES_XML
56         NewGeom.xml
57 )
58
59 SET(TEXT_RESOURCES
60         XGUI_msg_fr.ts
61 )
62
63 SET(PROJECT_LIBRARIES
64     Events
65     Config
66         ModelAPI
67         ModuleBase
68         AppElements
69         ${QT_LIBRARIES}
70         ${CAS_VIEWER}
71         ${CAS_KERNEL}
72         ${CAS_SHAPE}
73         ${PYTHON_LIBRARIES}
74         ${PyConsole}
75         ${PyInterp}
76         ${suit}
77         ${qtx}
78 )
79
80 IF(WIN32) 
81     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} opengl32)
82 ELSE()
83     SET(PROJECT_LIBRARIES ${PROJECT_LIBRARIES} GL)
84 ENDIF()
85
86 QT4_ADD_RESOURCES(PROJECT_COMPILED_RESOURCES ${PROJECT_RESOURCES})
87 #QT5_ADD_TRANSLATION(QM_RESOURCES ${TEXT_RESOURCES})
88
89 QT4_CREATE_TRANSLATION(QM_RESOURCES 
90                                            ${PROJECT_SOURCES}
91                                            ${TEXT_RESOURCES}
92                                            OPTIONS -extensions cpp -no-recursive
93                                            )
94
95
96 SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES} ${QM_RESOURCES})
97 #SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES})
98 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES} ${PROJECT_RESOURCES} ${PREFERENCES_XML})
99
100 ADD_DEFINITIONS( -DXGUI_EXPORTS ${CAS_DEFINITIONS} )
101
102 INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/src/Events
103                                          ${PROJECT_SOURCE_DIR}/src/Config
104                                          ${PROJECT_SOURCE_DIR}/src/ModelAPI
105                                          ${PROJECT_SOURCE_DIR}/src/GeomAPI
106                                          ${PROJECT_SOURCE_DIR}/src/ModuleBase
107 #                                        ${PROJECT_SOURCE_DIR}/src/PartSetPlugin
108                                          ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
109                                          ${PROJECT_SOURCE_DIR}/src/AppElements
110                                          ${CAS_INCLUDE_DIRS}
111                                          ${SUIT_INCLUDE})
112
113 LINK_DIRECTORIES($ENV{PYTHON_LIB_DIR})
114
115 ADD_LIBRARY(XGUI SHARED 
116         ${PROJECT_SOURCES} 
117         ${PROJECT_HEADERS} 
118         ${PROJECT_COMPILED_RESOURCES} 
119         ${TEXT_RESOURCES}
120         ${QM_RESOURCES}
121         ${PREFERENCES_XML}
122 )
123
124 ADD_DEPENDENCIES(XGUI ModelAPI)
125
126 # The Qt5Widgets_LIBRARIES variable also includes QtGui and QtCore
127 TARGET_LINK_LIBRARIES(XGUI ${PROJECT_LIBRARIES})
128
129 INSTALL(TARGETS XGUI DESTINATION bin)
130 INSTALL(FILES ${QM_RESOURCES} DESTINATION bin)
131 INSTALL(FILES ${PREFERENCES_XML} DESTINATION resources)