Salome HOME
34a303c083e3104bdc1070899506c509935c1ed8
[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_Recover.h
11     FeaturesPlugin_Revolution.h
12     FeaturesPlugin_Rotation.h
13     FeaturesPlugin_Translation.h
14     FeaturesPlugin_Boolean.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_Union.h
28     FeaturesPlugin_ValidatorTransform.h
29     FeaturesPlugin_Validators.h
30     FeaturesPlugin_RemoveSubShapes.h
31 )
32
33 SET(PROJECT_SOURCES
34     FeaturesPlugin_Plugin.cpp
35     FeaturesPlugin_Extrusion.cpp
36     FeaturesPlugin_Recover.cpp
37     FeaturesPlugin_Revolution.cpp
38     FeaturesPlugin_Rotation.cpp
39     FeaturesPlugin_Translation.cpp
40     FeaturesPlugin_Boolean.cpp
41     FeaturesPlugin_Intersection.cpp
42     FeaturesPlugin_Partition.cpp
43     FeaturesPlugin_Pipe.cpp
44     FeaturesPlugin_Placement.cpp
45     FeaturesPlugin_CompositeBoolean.cpp
46     FeaturesPlugin_CompositeSketch.cpp
47     FeaturesPlugin_ExtrusionBoolean.cpp
48     FeaturesPlugin_ExtrusionCut.cpp
49     FeaturesPlugin_ExtrusionFuse.cpp
50     FeaturesPlugin_RevolutionBoolean.cpp
51     FeaturesPlugin_RevolutionCut.cpp
52     FeaturesPlugin_RevolutionFuse.cpp
53     FeaturesPlugin_Union.cpp
54     FeaturesPlugin_ValidatorTransform.cpp
55     FeaturesPlugin_Validators.cpp
56     FeaturesPlugin_RemoveSubShapes.cpp
57 )
58
59 SET(XML_RESOURCES
60   plugin-Features.xml
61   extrusion_widget.xml
62   extrusioncut_widget.xml
63   extrusionfuse_widget.xml
64   revolution_widget.xml
65   revolutioncut_widget.xml
66   revolutionfuse_widget.xml
67   rotation_widget.xml
68   translation_widget.xml
69   boolean_widget.xml
70   recover_widget.xml
71   partition_widget.xml
72   placement_widget.xml
73   intersection_widget.xml
74   pipe_widget.xml
75   remove_subshapes_widget.xml
76   union_widget.xml
77 )
78
79 SET(TEXT_RESOURCES
80     FeaturesPlugin_msg_en.ts
81 )
82
83 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
84
85
86 INCLUDE_DIRECTORIES(
87   ../ModelAPI
88   ../GeomAPI
89   ../GeomAlgoAPI
90   ../GeomValidators
91   ../Events
92 )
93
94 SET(PROJECT_LIBRARIES
95     Events
96     ModelAPI
97     GeomAPI
98     GeomAlgoAPI
99     GeomValidators
100 )
101
102 ADD_DEFINITIONS(-DFEATURESPLUGIN_EXPORTS)
103 ADD_LIBRARY(FeaturesPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
104 TARGET_LINK_LIBRARIES(FeaturesPlugin ${PROJECT_LIBRARIES})
105
106 INSTALL(TARGETS FeaturesPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
107 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
108 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Features)
109 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
110
111 ADD_UNIT_TESTS(TestExtrusion.py
112                TestExtrusionCut.py
113                TestExtrusionFuse.py
114                TestRevolution.py
115                TestRevolutionCut.py
116                TestRevolutionFuse.py
117                TestCompositeFeaturesOnCompSolids.py
118                TestPartition.py
119                TestPlacement.py
120                TestTranslation.py
121                TestRotation.py
122                TestBoolean.py
123                TestBooleanCompSolids.py
124                TestBooleanSmash.py
125                TestBooleanFill.py
126                TestMultiBoolean.py
127                TestSerialBoolean.py
128                TestIntersection.py
129                TestUnion.py
130                TestRemoveSubShapes.py
131                TestPipe.py
132                TestRecover.py)