Salome HOME
Updated copyright comment
[modules/shaper.git] / src / FiltersPlugin / CMakeLists.txt
index ab179ee4855bf30430f054d20f53ce0c4ee003fe..20f79f16522a5523484337119efb89f0b0640356 100644 (file)
@@ -1,4 +1,4 @@
-## Copyright (C) 2014-2019  CEA/DEN, EDF R&D
+## Copyright (C) 2014-2024  CEA, EDF
 ##
 ## This library is free software; you can redistribute it and/or
 ## modify it under the terms of the GNU Lesser General Public
@@ -34,6 +34,13 @@ SET(PROJECT_HEADERS
     FiltersPlugin_OppositeToEdge.h
     FiltersPlugin_RelativeToSolid.h
     FiltersPlugin_ExternalFaces.h
+    FiltersPlugin_Validators.h
+    FiltersPlugin_EdgeSize.h
+    FiltersPlugin_FaceSize.h
+    FiltersPlugin_VolumeSize.h
+    FiltersPlugin_FeatureEdges.h
+    FiltersPlugin_ContinuousFaces.h
+    FiltersPlugin_OnShapeName.h
 )
 
 SET(PROJECT_SOURCES
@@ -49,6 +56,13 @@ SET(PROJECT_SOURCES
     FiltersPlugin_OppositeToEdge.cpp
     FiltersPlugin_RelativeToSolid.cpp
     FiltersPlugin_ExternalFaces.cpp
+    FiltersPlugin_Validators.cpp
+    FiltersPlugin_EdgeSize.cpp
+    FiltersPlugin_FaceSize.cpp
+    FiltersPlugin_VolumeSize.cpp
+    FiltersPlugin_FeatureEdges.cpp
+    FiltersPlugin_ContinuousFaces.cpp
+    FiltersPlugin_OnShapeName.cpp
 )
 
 SET(PROJECT_LIBRARIES
@@ -57,6 +71,7 @@ SET(PROJECT_LIBRARIES
     Config
     GeomAPI
     GeomAlgoAPI
+    GeomValidators
 )
 
 SET(PROJECT_PYFILES
@@ -73,11 +88,25 @@ SET(XML_RESOURCES
   filter-OppositeToEdge.xml
   filter-RelativeToSolid.xml
   filter-TopoConnectedFaces.xml
+  filter-EdgeSize.xml
+  filter-FaceSize.xml
+  filter-VolumeSize.xml
+  filter-FeatureEdges.xml
+  filter-ContinuousFaces.xml
+  filter-OnShapeName.xml
 )
 
+SET(TEXT_RESOURCES
+    FiltersPlugin_msg_en.ts
+    FiltersPlugin_msg_fr.ts
+)
+
+SOURCE_GROUP ("XML Files" FILES ${XML_RESOURCES})
+SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
+
 ADD_DEFINITIONS(-DFILTERS_EXPORTS ${OpenCASCADE_DEFINITIONS})
-ADD_LIBRARY(Filters SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES})
-TARGET_LINK_LIBRARIES(Filters ${PROJECT_LIBRARIES})
+ADD_LIBRARY(FiltersPlugin SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
+TARGET_LINK_LIBRARIES(FiltersPlugin ${PROJECT_LIBRARIES})
 
 INCLUDE_DIRECTORIES(
   ${OpenCASCADE_INCLUDE_DIR}
@@ -87,87 +116,33 @@ INCLUDE_DIRECTORIES(
   ${PROJECT_SOURCE_DIR}/src/GeomAPI
   ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
   ${PROJECT_SOURCE_DIR}/src/GeomDataAPI
+  ${PROJECT_SOURCE_DIR}/src/GeomValidators
+  ${PROJECT_SOURCE_DIR}/src/CollectionPlugin
+  ${PROJECT_SOURCE_DIR}/src/Locale
 )
 
-INSTALL(TARGETS Filters DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
+INSTALL(TARGETS FiltersPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
 INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
 INSTALL(FILES ${PROJECT_PYFILES} DESTINATION ${SHAPER_INSTALL_ADDONS})
+INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
 
+include(tests.set)
 
-ADD_UNIT_TESTS(
-  TestFilters.py
-  TestFilters_Mixed1.py
-  TestFilters_Mixed2.py
-  TestFilters_Supported.py
-  TestFilters_Xml.py
-  TestFilter_BelongsTo.py
-  TestFilter_BelongsTo_Exclude.py
-  TestFilter_OnPlane.py
-  TestFilter_OnPlane_Exclude.py
-  TestFilter_OnLine.py
-  TestFilter_OnLine_Exclude.py
-  TestFilter_OnGeometry_Edge.py
-  TestFilter_OnGeometry_Face.py
-  TestFilter_OnGeometry_Exclude_Edge.py
-  TestFilter_OnGeometry_Exclude_Face.py
-  TestFilter_OnPlaneSide_Face.py
-  TestFilter_OnPlaneSide_Plane.py
-  TestFilter_OnPlaneSide_Exclude_Face.py
-  TestFilter_OnPlaneSide_Exclude_Plane.py
-  TestFilter_OppositeToEdge.py
-  TestFilter_OppositeToEdge_Exclude.py
-  TestFilter_RelativeToSolid_In.py
-  TestFilter_RelativeToSolid_Out.py
-  TestFilter_RelativeToSolid_On.py
-  TestFilter_RelativeToSolid_NotOn.py
-  TestFilter_RelativeToSolid_InAndOn.py
-  TestFilter_RelativeToSolid_OutAndOn.py
-  TestFilter_RelativeToSolid_Exclude_In.py
-  TestFilter_RelativeToSolid_Exclude_Out.py
-  TestFilter_RelativeToSolid_Exclude_On.py
-  TestFilter_RelativeToSolid_Exclude_NotOn.py
-  TestFilter_RelativeToSolid_Exclude_InAndOn.py
-  TestFilter_RelativeToSolid_Exclude_OutAndOn.py
-  TestFilter_ExternalFaces.py
-  TestFilter_ExternalFaces_Exclude.py
-  TestFilter_HorizontalFaces.py
-  TestFilter_HorizontalFaces_Exclude.py
-  TestFilter_VerticalFaces.py
-  TestFilter_VerticalFaces_Exclude.py
-  TestFilter_TopoConnectedFaces_Vertex1.py
-  TestFilter_TopoConnectedFaces_Vertex2.py
-  TestFilter_TopoConnectedFaces_Vertex3.py
-  TestFilter_TopoConnectedFaces_Prop_Vertex1.py
-  TestFilter_TopoConnectedFaces_Prop_Vertex2.py
-  TestFilter_TopoConnectedFaces_Prop_Vertex3.py
-  TestFilter_TopoConnectedFaces_Edge1.py
-  TestFilter_TopoConnectedFaces_Edge2.py
-  TestFilter_TopoConnectedFaces_Edge3.py
-  TestFilter_TopoConnectedFaces_Prop_Edge1.py
-  TestFilter_TopoConnectedFaces_Prop_Edge2.py
-  TestFilter_TopoConnectedFaces_Prop_Edge3.py
-  TestFilter_TopoConnectedFaces_Face1.py
-  TestFilter_TopoConnectedFaces_Face2.py
-  TestFilter_TopoConnectedFaces_Face3.py
-  TestFilter_TopoConnectedFaces_Prop_Face1.py
-  TestFilter_TopoConnectedFaces_Prop_Face2.py
-  TestFilter_TopoConnectedFaces_Prop_Face3.py
-  TestFilter_TopoConnectedFaces_Exclude_Vertex1.py
-  TestFilter_TopoConnectedFaces_Exclude_Vertex2.py
-  TestFilter_TopoConnectedFaces_Exclude_Vertex3.py
-  TestFilter_TopoConnectedFaces_Prop_Exclude_Vertex1.py
-  TestFilter_TopoConnectedFaces_Prop_Exclude_Vertex2.py
-  TestFilter_TopoConnectedFaces_Prop_Exclude_Vertex3.py
-  TestFilter_TopoConnectedFaces_Exclude_Edge1.py
-  TestFilter_TopoConnectedFaces_Exclude_Edge2.py
-  TestFilter_TopoConnectedFaces_Exclude_Edge3.py
-  TestFilter_TopoConnectedFaces_Prop_Exclude_Edge1.py
-  TestFilter_TopoConnectedFaces_Prop_Exclude_Edge2.py
-  TestFilter_TopoConnectedFaces_Prop_Exclude_Edge3.py
-  TestFilter_TopoConnectedFaces_Exclude_Face1.py
-  TestFilter_TopoConnectedFaces_Exclude_Face2.py
-  TestFilter_TopoConnectedFaces_Exclude_Face3.py
-  TestFilter_TopoConnectedFaces_Prop_Exclude_Face1.py
-  TestFilter_TopoConnectedFaces_Prop_Exclude_Face2.py
-  TestFilter_TopoConnectedFaces_Prop_Exclude_Face3.py
-)
+ADD_UNIT_TESTS(${TEST_NAMES})
+
+if(${HAVE_SALOME})
+  enable_testing()
+  set(TEST_INSTALL_DIRECTORY "${SALOME_SHAPER_INSTALL_TESTS}/FiltersPlugin")
+
+  install(FILES CTestTestfileInstall.cmake
+  DESTINATION ${TEST_INSTALL_DIRECTORY}
+  RENAME CTestTestfile.cmake)
+  install(FILES tests.set DESTINATION ${TEST_INSTALL_DIRECTORY})
+
+  set(TMP_TESTS_NAMES)
+  foreach(tfile ${TEST_NAMES})
+    list(APPEND TMP_TESTS_NAMES "Test/${tfile}")
+  endforeach(tfile ${TEST_NAMES})
+
+  install(FILES ${TMP_TESTS_NAMES} DESTINATION ${TEST_INSTALL_DIRECTORY})
+endif(${HAVE_SALOME})