Salome HOME
Move representations of filters to separate XML files.
[modules/shaper.git] / src / FiltersPlugin / CMakeLists.txt
1 ## Copyright (C) 2014-2019  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 email : webmaster.salome@opencascade.com
18 ##
19
20 INCLUDE(Common)
21 INCLUDE(UnitTest)
22
23 SET(PROJECT_HEADERS
24     FiltersPlugin.h
25     FiltersPlugin_Plugin.h
26     FiltersPlugin_Selection.h
27     FiltersPlugin_HorizontalFace.h
28     FiltersPlugin_VerticalFace.h
29     FiltersPlugin_BelongsTo.h
30     FiltersPlugin_OnPlane.h
31     FiltersPlugin_OnLine.h
32     FiltersPlugin_OnGeometry.h
33     FiltersPlugin_OnPlaneSide.h
34     FiltersPlugin_OppositeToEdge.h
35     FiltersPlugin_RelativeToSolid.h
36     FiltersPlugin_ExternalFaces.h
37 )
38
39 SET(PROJECT_SOURCES
40     FiltersPlugin_Plugin.cpp
41     FiltersPlugin_Selection.cpp
42     FiltersPlugin_HorizontalFace.cpp
43     FiltersPlugin_VerticalFace.cpp
44     FiltersPlugin_BelongsTo.cpp
45     FiltersPlugin_OnPlane.cpp
46     FiltersPlugin_OnLine.cpp
47     FiltersPlugin_OnGeometry.cpp
48     FiltersPlugin_OnPlaneSide.cpp
49     FiltersPlugin_OppositeToEdge.cpp
50     FiltersPlugin_RelativeToSolid.cpp
51     FiltersPlugin_ExternalFaces.cpp
52 )
53
54 SET(PROJECT_LIBRARIES
55     ModelAPI
56     Events
57     Config
58     GeomAPI
59     GeomAlgoAPI
60 )
61
62 SET(XML_RESOURCES
63   plugin-Filters.xml
64   filter-BelongsTo.xml
65   filter-OnGeometry.xml
66   filter-OnLine.xml
67   filter-OnPlane.xml
68   filter-OnPlaneSide.xml
69   filter-OppositeToEdge.xml
70   filter-RelativeToSolid.xml
71 )
72
73 ADD_DEFINITIONS(-DFILTERS_EXPORTS ${OpenCASCADE_DEFINITIONS})
74 ADD_LIBRARY(Filters SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES})
75 TARGET_LINK_LIBRARIES(Filters ${PROJECT_LIBRARIES})
76
77 INCLUDE_DIRECTORIES(
78   ${OpenCASCADE_INCLUDE_DIR}
79   ${PROJECT_SOURCE_DIR}/src/ModelAPI
80   ${PROJECT_SOURCE_DIR}/src/Config
81   ${PROJECT_SOURCE_DIR}/src/Events
82   ${PROJECT_SOURCE_DIR}/src/GeomAPI
83   ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
84   ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
85 )
86
87 INSTALL(TARGETS Filters DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
88 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
89
90 ADD_UNIT_TESTS(
91   TestFilters.py
92   TestFilter_BelongsTo.py
93   TestFilter_OnPlane.py
94   TestFilter_OnLine.py
95   TestFilter_OnGeometry_Edge.py
96   TestFilter_OnGeometry_Face.py
97   TestFilter_OnPlaneSide_Face.py
98   TestFilter_OnPlaneSide_Plane.py
99   TestFilter_OppositeToEdge.py
100   TestFilter_RelativeToSolid_In.py
101   TestFilter_RelativeToSolid_Out.py
102   TestFilter_RelativeToSolid_On.py
103   TestFilter_RelativeToSolid_NotOn.py
104   TestFilter_RelativeToSolid_InAndOn.py
105   TestFilter_RelativeToSolid_OutAndOn.py
106   TestFilter_ExternalFaces.py
107   TestFilter_HorizontalFaces.py
108   TestFilter_VerticalFaces.py
109 )