Salome HOME
Merge remote-tracking branch 'origin/cbr/export_to_geom_via_xao'
[modules/shaper.git] / src / FeaturesPlugin / CMakeLists.txt
1 ## Copyright (C) 2014-2017  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
18 ## email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
19 ##
20
21 INCLUDE(Common)
22 INCLUDE(UnitTest)
23
24 SET(PROJECT_HEADERS
25     FeaturesPlugin.h
26     FeaturesPlugin_Plugin.h
27     FeaturesPlugin_Extrusion.h
28     FeaturesPlugin_Recover.h
29     FeaturesPlugin_Revolution.h
30     FeaturesPlugin_Rotation.h
31     FeaturesPlugin_Translation.h
32     FeaturesPlugin_Boolean.h
33     FeaturesPlugin_Intersection.h
34     FeaturesPlugin_Partition.h
35     FeaturesPlugin_Pipe.h
36     FeaturesPlugin_Placement.h
37     FeaturesPlugin_CompositeBoolean.h
38     FeaturesPlugin_CompositeSketch.h
39     FeaturesPlugin_ExtrusionBoolean.h
40     FeaturesPlugin_ExtrusionCut.h
41     FeaturesPlugin_ExtrusionFuse.h
42     FeaturesPlugin_RevolutionBoolean.h
43     FeaturesPlugin_RevolutionCut.h
44     FeaturesPlugin_RevolutionFuse.h
45     FeaturesPlugin_Union.h
46     FeaturesPlugin_ValidatorTransform.h
47     FeaturesPlugin_Validators.h
48     FeaturesPlugin_RemoveSubShapes.h
49     FeaturesPlugin_Tools.h
50     FeaturesPlugin_Symmetry.h
51     FeaturesPlugin_Scale.h
52     FeaturesPlugin_MultiTranslation.h
53     FeaturesPlugin_MultiRotation.h
54     FeaturesPlugin_Fillet.h
55 )
56
57 SET(PROJECT_SOURCES
58     FeaturesPlugin_Plugin.cpp
59     FeaturesPlugin_Extrusion.cpp
60     FeaturesPlugin_Recover.cpp
61     FeaturesPlugin_Revolution.cpp
62     FeaturesPlugin_Rotation.cpp
63     FeaturesPlugin_Translation.cpp
64     FeaturesPlugin_Boolean.cpp
65     FeaturesPlugin_Intersection.cpp
66     FeaturesPlugin_Partition.cpp
67     FeaturesPlugin_Pipe.cpp
68     FeaturesPlugin_Placement.cpp
69     FeaturesPlugin_CompositeBoolean.cpp
70     FeaturesPlugin_CompositeSketch.cpp
71     FeaturesPlugin_ExtrusionBoolean.cpp
72     FeaturesPlugin_ExtrusionCut.cpp
73     FeaturesPlugin_ExtrusionFuse.cpp
74     FeaturesPlugin_RevolutionBoolean.cpp
75     FeaturesPlugin_RevolutionCut.cpp
76     FeaturesPlugin_RevolutionFuse.cpp
77     FeaturesPlugin_Union.cpp
78     FeaturesPlugin_ValidatorTransform.cpp
79     FeaturesPlugin_Validators.cpp
80     FeaturesPlugin_RemoveSubShapes.cpp
81     FeaturesPlugin_Tools.cpp
82     FeaturesPlugin_Symmetry.cpp
83     FeaturesPlugin_Scale.cpp
84     FeaturesPlugin_MultiTranslation.cpp
85     FeaturesPlugin_MultiRotation.cpp
86     FeaturesPlugin_Fillet.cpp
87 )
88
89 SET(XML_RESOURCES
90   plugin-Features.xml
91   extrusion_widget.xml
92   extrusioncut_widget.xml
93   extrusionfuse_widget.xml
94   revolution_widget.xml
95   revolutioncut_widget.xml
96   revolutionfuse_widget.xml
97   rotation_widget.xml
98   translation_widget.xml
99   boolean_widget.xml
100   recover_widget.xml
101   partition_widget.xml
102   placement_widget.xml
103   intersection_widget.xml
104   pipe_widget.xml
105   remove_subshapes_widget.xml
106   union_widget.xml
107   symmetry_widget.xml
108   scale_widget.xml
109   multitranslation_widget.xml
110   multirotation_widget.xml
111   fillet_widget.xml
112 )
113
114 SET(TEXT_RESOURCES
115     FeaturesPlugin_msg_en.ts
116     FeaturesPlugin_msg_ru.ts
117 )
118
119 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
120
121
122 INCLUDE_DIRECTORIES(
123   ../ModelAPI
124   ../GeomAPI
125   ../GeomAlgoAPI
126   ../GeomValidators
127   ../Events
128 )
129
130 SET(PROJECT_LIBRARIES
131     Events
132     ModelAPI
133     GeomAPI
134     GeomAlgoAPI
135     GeomValidators
136 )
137
138 ADD_DEFINITIONS(-DFEATURESPLUGIN_EXPORTS)
139 ADD_LIBRARY(FeaturesPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
140 TARGET_LINK_LIBRARIES(FeaturesPlugin ${PROJECT_LIBRARIES})
141
142 INSTALL(TARGETS FeaturesPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
143 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
144 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Features)
145 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
146
147 ADD_UNIT_TESTS(TestExtrusion.py
148                TestExtrusionCut.py
149                TestExtrusionFuse.py
150                TestRevolution.py
151                TestRevolutionCut.py
152                TestRevolutionFuse.py
153                TestCompositeFeaturesOnCompSolids.py
154                TestPartition.py
155                TestPlacement.py
156                TestTranslation.py
157                TestRotation.py
158                TestBoolean.py
159                TestBooleanCompSolids.py
160                TestBooleanSmash.py
161                TestBooleanFill.py
162                TestBooleanFillWithPlane.py
163                TestMultiBoolean.py
164                TestSerialBoolean.py
165                TestIntersection.py
166                TestUnion.py
167                TestUnionFaces.py
168                TestRemoveSubShapes.py
169                TestRemoveSubShapes2.py
170                TestPipe.py
171                TestRecover.py
172                TestRecover1798.py
173                Test1922.py
174                Test1942.py
175                Test1915.py
176                Test2023.py
177                Test2046.py
178                Test2038.py
179                Test2172.py
180                Test2194.py
181                Test2197_1.py
182                Test2197_2.py
183                Test2197_3.py
184                Test2197_4.py
185                Test2215.py
186                Test2222.py
187                Test2233.py
188                Test2231.py
189                Test2240.py
190                Test2246.py
191                Test2248.py
192                Test2251.py
193                Test2255.py
194                Test2289.py
195                Test2304.py
196 )