Salome HOME
a58b83a3930d37bd0a5ae03ad41c1f246dedf9a5
[modules/shaper.git] / src / FeaturesPlugin / CMakeLists.txt
1 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
2
3 INCLUDE(Common)
4 INCLUDE(UnitTest)
5
6 SET(PROJECT_HEADERS
7     FeaturesPlugin.h
8     FeaturesPlugin_Plugin.h
9     FeaturesPlugin_Extrusion.h
10     FeaturesPlugin_Revolution.h
11     FeaturesPlugin_Rotation.h
12     FeaturesPlugin_Translation.h
13     FeaturesPlugin_Boolean.h
14     FeaturesPlugin_Group.h
15     FeaturesPlugin_Intersection.h
16     FeaturesPlugin_Partition.h
17     FeaturesPlugin_Pipe.h
18     FeaturesPlugin_Placement.h
19     FeaturesPlugin_CompositeBoolean.h
20     FeaturesPlugin_CompositeSketch.h
21     FeaturesPlugin_ExtrusionBoolean.h
22     FeaturesPlugin_ExtrusionCut.h
23     FeaturesPlugin_ExtrusionFuse.h
24     FeaturesPlugin_RevolutionBoolean.h
25     FeaturesPlugin_RevolutionCut.h
26     FeaturesPlugin_RevolutionFuse.h
27     FeaturesPlugin_ValidatorTransform.h
28     FeaturesPlugin_Validators.h
29 )
30
31 SET(PROJECT_SOURCES
32     FeaturesPlugin_Plugin.cpp
33     FeaturesPlugin_Extrusion.cpp
34     FeaturesPlugin_Revolution.cpp
35     FeaturesPlugin_Rotation.cpp
36     FeaturesPlugin_Translation.cpp
37     FeaturesPlugin_Boolean.cpp
38     FeaturesPlugin_Group.cpp
39     FeaturesPlugin_Intersection.cpp
40     FeaturesPlugin_Partition.cpp
41     FeaturesPlugin_Pipe.cpp
42     FeaturesPlugin_Placement.cpp
43     FeaturesPlugin_CompositeBoolean.cpp
44     FeaturesPlugin_CompositeSketch.cpp
45     FeaturesPlugin_ExtrusionBoolean.cpp
46     FeaturesPlugin_ExtrusionCut.cpp
47     FeaturesPlugin_ExtrusionFuse.cpp
48     FeaturesPlugin_RevolutionBoolean.cpp
49     FeaturesPlugin_RevolutionCut.cpp
50     FeaturesPlugin_RevolutionFuse.cpp
51     FeaturesPlugin_ValidatorTransform.cpp
52     FeaturesPlugin_Validators.cpp
53 )
54
55 SET(XML_RESOURCES
56   plugin-Features.xml
57   extrusion_widget.xml
58   extrusioncut_widget.xml
59   extrusionfuse_widget.xml
60   revolution_widget.xml
61   revolutioncut_widget.xml
62   revolutionfuse_widget.xml
63   rotation_widget.xml
64   translation_widget.xml
65   boolean_widget.xml
66   group_widget.xml
67   partition_widget.xml
68   placement_widget.xml
69   intersection_widget.xml
70   pipe_widget.xml
71 )
72
73 INCLUDE_DIRECTORIES(
74   ../ModelAPI
75   ../GeomAPI
76   ../GeomAlgoAPI
77   ../GeomValidators
78   ../Events
79 )
80
81 SET(PROJECT_LIBRARIES
82     Events
83     ModelAPI
84     GeomAPI
85     GeomAlgoAPI
86     GeomValidators
87 )
88
89 ADD_DEFINITIONS(-DFEATURESPLUGIN_EXPORTS)
90 ADD_LIBRARY(FeaturesPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES})
91 TARGET_LINK_LIBRARIES(FeaturesPlugin ${PROJECT_LIBRARIES})
92
93 INSTALL(TARGETS FeaturesPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
94 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
95 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Features)
96
97 ADD_UNIT_TESTS(TestExtrusion.py
98                TestExtrusionCut.py
99                TestExtrusionFuse.py
100                TestRevolution.py
101                TestRevolutionCut.py
102                TestRevolutionFuse.py
103                TestCompositeFeaturesOnCompSolids.py
104                TestPartition.py
105                TestPlacement.py
106                TestTranslation.py
107                TestRotation.py
108                TestBoolean.py
109                TestBooleanCompSolids.py
110                TestBooleanSmash.py
111                TestMultiBoolean.py
112                TestSerialBoolean.py
113                TestGroup.py
114                TestIntersection.py
115                TestPipe.py)