Salome HOME
9f7d4620c7e9b1aeb94bb1c1dca74e8376c9034e
[modules/shaper.git] / src / SHAPERGUI / CMakeLists.txt
1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 INCLUDE(UseQtExt)
4
5 # additional include directories
6 INCLUDE_DIRECTORIES(${QT_INCLUDES})
7
8 # additional preprocessor / compiler flags
9 ADD_DEFINITIONS(${QT_DEFINITIONS})
10
11 SET(PROJECT_HEADERS
12         SHAPER_SHAPERGUI.h
13         SHAPERGUI.h
14         SHAPERGUI_DataModel.h
15         SHAPERGUI_OCCSelector.h
16         SHAPERGUI_SalomeViewer.h
17         SHAPERGUI_NestedButton.h
18 )
19
20 # sources / moc wrappings
21 QT_WRAP_MOC(PROJECT_AUTOMOC ${PROJECT_HEADERS})
22
23 SET(PROJECT_SOURCES
24         SHAPERGUI.cpp
25         SHAPERGUI_DataModel.cpp
26         SHAPERGUI_OCCSelector.cpp
27         SHAPERGUI_SalomeViewer.cpp
28         SHAPERGUI_NestedButton.cpp
29 )
30
31 SET(PROJECT_RESOURCES
32         ${CMAKE_CURRENT_BINARY_DIR}/LightApp.xml
33         ${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml
34         resources/shaper.png
35 )
36
37 SET(PROJECT_LIBRARIES
38     Events
39     Config
40     XGUI
41     ModuleBase
42     ${QT_LIBRARIES}
43     ${suit}
44     ${std}
45     ${LightApp}
46     ${CAM}
47     ${OCCViewer}
48     ${qtx}
49     ${CAS_SHAPE}
50 )
51
52 ADD_DEFINITIONS( -DSHAPERGUI_EXPORTS ${CAS_DEFINITIONS} )
53
54 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/XGUI
55                     ${PROJECT_SOURCE_DIR}/src/Events
56                     ${PROJECT_SOURCE_DIR}/src/ModuleBase
57                     ${PROJECT_SOURCE_DIR}/src/ModelAPI
58                     ${PROJECT_SOURCE_DIR}/src/GeomAPI
59                     ${PROJECT_SOURCE_DIR}/src/Config
60                     ${PROJECT_SOURCE_DIR}/src/ExchangePlugin
61                     ${SALOME_GUI_INCLUDE}
62                     ${SALOME_KERNEL_INCLUDE}
63                     ${CAS_INCLUDE_DIRS}
64 )
65
66 IF(${HAVE_SALOME})
67   INCLUDE_DIRECTORIES(${SALOME_KERNEL_INCLUDE})
68 ENDIF(${HAVE_SALOME})
69
70 ADD_LIBRARY(SHAPER SHARED
71         ${PROJECT_SOURCES}
72         ${PROJECT_HEADERS}
73         ${PROJECT_AUTOMOC}
74 )
75
76 ADD_DEPENDENCIES(SHAPER XGUI)
77
78 # The Qt5Widgets_LIBRARIES variable also includes QtGui and QtCore
79 TARGET_LINK_LIBRARIES(SHAPER ${PROJECT_LIBRARIES})
80
81 # configuration
82 CONFIGURE_FILE(
83   "${CMAKE_CURRENT_SOURCE_DIR}/resources/LightApp.xml.in"
84   "${CMAKE_CURRENT_BINARY_DIR}/LightApp.xml"
85   )
86 CONFIGURE_FILE(
87   "${CMAKE_CURRENT_SOURCE_DIR}/resources/SalomeApp.xml.in"
88   "${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml"
89   )
90
91 INSTALL(TARGETS SHAPER DESTINATION ${SHAPER_INSTALL_BIN})
92 INSTALL(FILES ${PROJECT_RESOURCES} DESTINATION ${SHAPER_INSTALL_RESOURCES})