Salome HOME
add new shape creation from groups
[modules/shaper.git] / src / CollectionPlugin / CMakeLists.txt
1 # Copyright (C) 2014-2020  CEA/DEN, EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 INCLUDE(Common)
21 INCLUDE(UnitTest)
22 INCLUDE(UseQtExt)
23
24 # additional include directories
25 INCLUDE_DIRECTORIES(${QT_INCLUDES})
26
27 # additional preprocessor / compiler flags
28 ADD_DEFINITIONS(${QT_DEFINITIONS})
29
30 SET(PROJECT_HEADERS
31     CollectionPlugin.h
32     CollectionPlugin_Plugin.h
33     CollectionPlugin_Group.h
34     CollectionPlugin_GroupAddition.h
35     CollectionPlugin_GroupMerge.h
36     CollectionPlugin_GroupShape.h
37     CollectionPlugin_GroupIntersection.h
38     CollectionPlugin_GroupOperation.h
39     CollectionPlugin_GroupSubstraction.h
40     CollectionPlugin_Field.h
41     CollectionPlugin_WidgetCreator.h
42     CollectionPlugin_WidgetField.h
43     CollectionPlugin_Validators.h
44 )
45
46 SET(PROJECT_MOC_HEADERS
47     CollectionPlugin_WidgetField.h
48 )
49
50 SET(PROJECT_SOURCES
51     CollectionPlugin_Plugin.cpp
52     CollectionPlugin_Group.cpp
53     CollectionPlugin_GroupAddition.cpp
54     CollectionPlugin_GroupMerge.cpp
55     CollectionPlugin_GroupShape.cpp
56     CollectionPlugin_GroupIntersection.cpp
57     CollectionPlugin_GroupOperation.cpp
58     CollectionPlugin_GroupSubstraction.cpp
59     CollectionPlugin_Field.cpp
60     CollectionPlugin_WidgetCreator.cpp
61     CollectionPlugin_WidgetField.cpp
62     CollectionPlugin_Validators.cpp
63 )
64
65 SET(XML_RESOURCES
66   plugin-Collection.xml
67   group_widget.xml
68   group_addition_widget.xml
69   group_intersection_widget.xml
70   group_substraction_widget.xml
71 )
72
73 SET(TEXT_RESOURCES
74     CollectionPlugin_msg_en.ts
75     CollectionPlugin_msg_fr.ts
76 )
77
78 # sources / moc wrappings
79 QT_WRAP_MOC(PROJECT_AUTOMOC ${PROJECT_MOC_HEADERS})
80
81 #QT5_ADD_TRANSLATION(QM_RESOURCES ${TEXT_RESOURCES})
82
83 SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC} ${PROJECT_COMPILED_RESOURCES} ${QM_RESOURCES})
84 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
85 SOURCE_GROUP ("XML Files" FILES ${XML_RESOURCES})
86
87
88 INCLUDE_DIRECTORIES(
89   ../ModelAPI
90   ../GeomAPI
91   ../GeomAlgoAPI
92   ../GeomValidators
93   ../Events
94   ../ModuleBase
95   ../Config
96   ${OpenCASCADE_INCLUDE_DIR}
97 )
98
99 SET(PROJECT_LIBRARIES
100     Events
101     ModelAPI
102     GeomAPI
103     GeomAlgoAPI
104     GeomValidators
105     ModuleBase
106 )
107
108 ADD_DEFINITIONS(-DCOLLECTIONPLUGIN_EXPORTS ${OpenCASCADE_DEFINITIONS})
109 ADD_LIBRARY(CollectionPlugin MODULE
110             ${PROJECT_SOURCES}
111             ${PROJECT_HEADERS}
112             ${XML_RESOURCES}
113             ${TEXT_RESOURCES}
114             ${PROJECT_AUTOMOC})
115 TARGET_LINK_LIBRARIES(CollectionPlugin ${PROJECT_LIBRARIES})
116
117 INSTALL(TARGETS CollectionPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
118 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
119 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Collection)
120 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
121
122 ADD_UNIT_TESTS(
123                TestGroup.py
124                TestGroup2.py
125                TestField.py
126                TestGroup1799.py
127                TestGroupMove01.py
128                TestGroupMove02.py
129                TestGroupMove03.py
130                TestGroupMove04.py
131                TestGroupMove05.py
132                TestGroupMove06.py
133                TestGroupMove07.py
134                TestGroupMove08.py
135                TestGroupMove09.py
136                TestGroupMove10.py
137                TestGroupMove11.py
138                TestGroupMove12.py
139                TestGroupMove13.py
140                TestGroupMove14.py
141                TestGroupMove15.py
142                TestGroupMove16.py
143                TestGroupMove17.py
144                TestGroupMove18.py
145                TestGroupMove19.py
146                TestGroupMove20.py
147                TestGroupMove21.py
148                TestGroupMove22.py
149                TestGroupMove23.py
150                TestGroupMove24.py
151                TestGroupMove25.py
152                TestGroupMove26.py
153                TestGroupShareTopology.py
154                TestGroupAddition.py
155                TestGroupAddition_Error.py
156                TestGroupIntersection.py
157                TestGroupIntersection_Error.py
158                TestGroupSubstraction.py
159                TestGroupSubstraction2.py
160                TestGroupSubstraction_Error1.py
161                TestGroupSubstraction_Error2.py
162                Test2977.py
163                TestGroupWholeResult1.py
164                TestGroupWholeResult2.py
165                Test3031.py
166                TestGroupWholeFeature1.py
167                TestGroupWholeFeature2.py
168                TestGroupMoveAndSplit1.py
169                TestGroupMoveAndSplit2.py
170                TestGroupMoveAndSplit3.py
171                TestGroupMoveAndSplit4.py
172                Test3114.py
173                Test18739.py
174 )