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