Salome HOME
Merge branch 'master' into cgt/devCEA
[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 )
55
56 SET(PROJECT_SOURCES
57     FeaturesPlugin_Plugin.cpp
58     FeaturesPlugin_Extrusion.cpp
59     FeaturesPlugin_Recover.cpp
60     FeaturesPlugin_Revolution.cpp
61     FeaturesPlugin_Rotation.cpp
62     FeaturesPlugin_Translation.cpp
63     FeaturesPlugin_Boolean.cpp
64     FeaturesPlugin_Intersection.cpp
65     FeaturesPlugin_Partition.cpp
66     FeaturesPlugin_Pipe.cpp
67     FeaturesPlugin_Placement.cpp
68     FeaturesPlugin_CompositeBoolean.cpp
69     FeaturesPlugin_CompositeSketch.cpp
70     FeaturesPlugin_ExtrusionBoolean.cpp
71     FeaturesPlugin_ExtrusionCut.cpp
72     FeaturesPlugin_ExtrusionFuse.cpp
73     FeaturesPlugin_RevolutionBoolean.cpp
74     FeaturesPlugin_RevolutionCut.cpp
75     FeaturesPlugin_RevolutionFuse.cpp
76     FeaturesPlugin_Union.cpp
77     FeaturesPlugin_ValidatorTransform.cpp
78     FeaturesPlugin_Validators.cpp
79     FeaturesPlugin_RemoveSubShapes.cpp
80     FeaturesPlugin_Tools.cpp
81     FeaturesPlugin_Symmetry.cpp
82     FeaturesPlugin_Scale.cpp
83     FeaturesPlugin_MultiTranslation.cpp
84     FeaturesPlugin_MultiRotation.cpp
85 )
86
87 SET(XML_RESOURCES
88   plugin-Features.xml
89   extrusion_widget.xml
90   extrusioncut_widget.xml
91   extrusionfuse_widget.xml
92   revolution_widget.xml
93   revolutioncut_widget.xml
94   revolutionfuse_widget.xml
95   rotation_widget.xml
96   translation_widget.xml
97   boolean_widget.xml
98   recover_widget.xml
99   partition_widget.xml
100   placement_widget.xml
101   intersection_widget.xml
102   pipe_widget.xml
103   remove_subshapes_widget.xml
104   union_widget.xml
105   symmetry_widget.xml
106   scale_widget.xml
107   multitranslation_widget.xml
108   multirotation_widget.xml
109 )
110
111 SET(TEXT_RESOURCES
112     FeaturesPlugin_msg_en.ts
113     FeaturesPlugin_msg_ru.ts
114 )
115
116 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
117
118
119 INCLUDE_DIRECTORIES(
120   ../ModelAPI
121   ../GeomAPI
122   ../GeomAlgoAPI
123   ../GeomValidators
124   ../Events
125 )
126
127 SET(PROJECT_LIBRARIES
128     Events
129     ModelAPI
130     GeomAPI
131     GeomAlgoAPI
132     GeomValidators
133 )
134
135 ADD_DEFINITIONS(-DFEATURESPLUGIN_EXPORTS)
136 ADD_LIBRARY(FeaturesPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
137 TARGET_LINK_LIBRARIES(FeaturesPlugin ${PROJECT_LIBRARIES})
138
139 INSTALL(TARGETS FeaturesPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
140 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
141 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Features)
142 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
143
144 ADD_UNIT_TESTS(TestExtrusion.py
145                TestExtrusionCut.py
146                TestExtrusionFuse.py
147                TestRevolution.py
148                TestRevolutionCut.py
149                TestRevolutionFuse.py
150                TestCompositeFeaturesOnCompSolids.py
151                TestPartition.py
152                TestPlacement.py
153                TestTranslation.py
154                TestRotation.py
155                TestBoolean.py
156                TestBooleanCompSolids.py
157                TestBooleanSmash.py
158                TestBooleanFill.py
159                TestMultiBoolean.py
160                TestSerialBoolean.py
161                TestIntersection.py
162                TestUnion.py
163                TestRemoveSubShapes.py
164                TestPipe.py
165                TestRecover.py
166                TestRecover1798.py
167                Test1922.py
168                Test1942.py
169                Test1915.py
170                Test2023.py
171                Test2046.py
172                Test2038.py
173                Test2194.py
174                Test2215.py
175 )