Salome HOME
Porting to SALOME_8.2.0
[modules/shaper.git] / src / PartSet / CMakeLists.txt
1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 INCLUDE(Common)
4 INCLUDE(UseQtExt)
5
6 # additional include directories
7 INCLUDE_DIRECTORIES(${QT_INCLUDES})
8
9 # additional preprocessor / compiler flags
10 ADD_DEFINITIONS(${QT_DEFINITIONS})
11
12 SET(PROJECT_HEADERS
13         PartSet.h
14         PartSet_Constants.h
15         PartSet_CustomPrs.h
16         PartSet_ExternalObjectsMgr.h
17         PartSet_Module.h
18         PartSet_MouseProcessor.h
19         PartSet_OperationPrs.h
20         PartSet_OverconstraintListener.h
21         PartSet_PreviewPlanes.h
22         PartSet_Tools.h
23         PartSet_WidgetSketchLabel.h
24         PartSet_Validators.h
25         PartSet_WidgetPoint2d.h
26         PartSet_WidgetEditor.h
27         PartSet_WidgetMultiSelector.h
28         PartSet_WidgetPoint2dDistance.h
29         PartSet_WidgetPoint2DFlyout.h
30         PartSet_WidgetShapeSelector.h
31         PartSet_WidgetFileSelector.h
32         PartSet_Filters.h
33         PartSet_FilterInfinite.h
34         PartSet_ResultSketchPrs.h
35         PartSet_SketcherMgr.h
36         PartSet_SketcherReetntrantMgr.h
37         PartSet_MenuMgr.h
38         PartSet_WidgetSketchCreator.h
39         PartSet_IconFactory.h
40         PartSet_WidgetChoice.h
41         PartSet_WidgetSubShapeSelector.h
42 )
43
44 SET(PROJECT_SOURCES
45         PartSet_CustomPrs.cpp
46         PartSet_ExternalObjectsMgr.cpp
47         PartSet_Module.cpp
48         PartSet_OperationPrs.cpp
49         PartSet_OverconstraintListener.cpp
50         PartSet_PreviewPlanes.cpp
51         PartSet_Tools.cpp
52         PartSet_WidgetSketchLabel.cpp
53         PartSet_Validators.cpp
54         PartSet_WidgetEditor.cpp
55         PartSet_WidgetMultiSelector.cpp
56         PartSet_WidgetPoint2d.cpp
57         PartSet_WidgetPoint2dDistance.cpp
58         PartSet_WidgetPoint2DFlyout.cpp
59         PartSet_WidgetShapeSelector.cpp
60         PartSet_WidgetFileSelector.cpp
61         PartSet_Filters.cpp
62         PartSet_FilterInfinite.cpp
63         PartSet_ResultSketchPrs.cpp
64         PartSet_SketcherMgr.cpp
65         PartSet_SketcherReetntrantMgr.cpp
66         PartSet_MenuMgr.cpp
67         PartSet_WidgetSketchCreator.cpp
68         PartSet_IconFactory.cpp
69         PartSet_WidgetSubShapeSelector.cpp
70 )
71
72 SET(PROJECT_RESOURCES
73     PartSet_icons.qrc
74 )
75
76 #SET(TEXT_RESOURCES
77 #       PartSet_msg_fr.ts
78 #)
79
80 SET(PROJECT_LIBRARIES
81     ModuleBase
82     ModelGeomAlgo
83     Config
84     GeomAPI
85     GeomDataAPI
86     SketcherPrs
87     ${QT_LIBRARIES}
88     ${CAS_KERNEL}
89     ${CAS_SHAPE}
90 )
91
92 #SET(PROJECT_AUTOMOC
93 #    ${CMAKE_CURRENT_BINARY_DIR}/PartSet_automoc.cpp
94 #)
95 # sources / moc wrappings
96 QT_WRAP_MOC(PROJECT_AUTOMOC ${PROJECT_HEADERS})
97
98 # sources / rcc wrappings
99 QT_ADD_RESOURCES(PROJECT_COMPILED_RESOURCES ${PROJECT_RESOURCES})
100 #QT4_ADD_TRANSLATION(QM_RESOURCES ${TEXT_RESOURCES})
101 #QT4_CREATE_TRANSLATION(QM_RESOURCES
102 #                                          ${PROJECT_SOURCES}
103 #                                          ${TEXT_RESOURCES}
104 #                                          OPTIONS -extensions cpp -no-recursive
105 #                                          )
106
107 #SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES} ${QM_RESOURCES})
108 SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES})
109 #SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES} ${PROJECT_RESOURCES})
110 SOURCE_GROUP ("Resource Files" FILES ${PROJECT_RESOURCES})
111
112 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/XGUI
113                     ${PROJECT_SOURCE_DIR}/src/Config
114                     ${PROJECT_SOURCE_DIR}/src/Events
115                     ${PROJECT_SOURCE_DIR}/src/ModuleBase
116                     ${PROJECT_SOURCE_DIR}/src/ModelAPI
117                     ${PROJECT_SOURCE_DIR}/src/ModelGeomAlgo
118                     ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
119                     ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
120                     ${PROJECT_SOURCE_DIR}/src/SketchPlugin
121                     ${PROJECT_SOURCE_DIR}/src/ExchangePlugin
122                     ${PROJECT_SOURCE_DIR}/src/SketcherPrs
123                     ${PROJECT_SOURCE_DIR}/src/FeaturesPlugin
124                     ${PROJECT_SOURCE_DIR}/src/PartSetPlugin
125                     ${PROJECT_SOURCE_DIR}/src/GeomAPI
126                     ${CAS_INCLUDE_DIRS}
127                     ${SUIT_INCLUDE}
128 )
129
130 IF(NOT ${HAVE_SALOME})
131   INCLUDE_DIRECTORIES(${APPELEMENTS_INCLUDE_DIR})
132 ENDIF(NOT ${HAVE_SALOME})
133
134 ADD_DEFINITIONS(-DPARTSET_EXPORTS ${CAS_DEFINITIONS})
135 ADD_LIBRARY(PartSet SHARED
136         ${PROJECT_SOURCES}
137         ${PROJECT_HEADERS}
138         ${PROJECT_COMPILED_RESOURCES}
139         ${PROJECT_AUTOMOC}
140 #       ${TEXT_RESOURCES}
141 #       ${QM_RESOURCES}
142 )
143
144 # The Qt5Widgets_LIBRARIES variable also includes QtGui and QtCore
145 TARGET_LINK_LIBRARIES(PartSet ${PROJECT_LIBRARIES} XGUI ModelAPI GeomAlgoAPI)
146
147 ADD_DEPENDENCIES(PartSet ModuleBase)
148
149 INSTALL(TARGETS PartSet DESTINATION ${SHAPER_INSTALL_BIN})
150 #INSTALL(FILES ${QM_RESOURCES} DESTINATION bin)