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