Salome HOME
Copyright update 2022
[modules/shaper.git] / src / SketchPlugin / CMakeLists.txt
index 55a9aa143553f01ae988ac3df9d5bf3a586db35e..8b6bee8019a43abcc8f4705704b534f397a1a696 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2019  CEA/DEN, EDF R&D
+# Copyright (C) 2014-2022  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -23,6 +23,9 @@ INCLUDE(UnitTest)
 SET(PROJECT_HEADERS
     SketchPlugin.h
     SketchPlugin_Arc.h
+    SketchPlugin_BSpline.h
+    SketchPlugin_BSplineBase.h
+    SketchPlugin_BSplinePeriodic.h
     SketchPlugin_Circle.h
     SketchPlugin_Constraint.h
     SketchPlugin_ConstraintAngle.h
@@ -46,31 +49,41 @@ SET(PROJECT_HEADERS
     SketchPlugin_ConstraintRigid.h
     SketchPlugin_ConstraintTangent.h
     SketchPlugin_ConstraintVertical.h
+    SketchPlugin_CurveFitting.h
     SketchPlugin_Ellipse.h
+    SketchPlugin_EllipticArc.h
     SketchPlugin_ExternalValidator.h
     SketchPlugin_Feature.h
     SketchPlugin_IntersectionPoint.h
     SketchPlugin_Line.h
     SketchPlugin_MacroArc.h
     SketchPlugin_MacroArcReentrantMessage.h
+    SketchPlugin_MacroBSpline.h
     SketchPlugin_MacroCircle.h
     SketchPlugin_MacroEllipse.h
+    SketchPlugin_MacroEllipticArc.h
     SketchPlugin_MultiRotation.h
     SketchPlugin_MultiTranslation.h
+    SketchPlugin_Offset.h
+    SketchPlugin_OverConstraintsResolver.h
     SketchPlugin_Plugin.h
     SketchPlugin_Point.h
     SketchPlugin_Projection.h
     SketchPlugin_Sketch.h
+    SketchPlugin_SketchCopy.h
+    SketchPlugin_SketchDrawer.h
     SketchPlugin_SketchEntity.h
     SketchPlugin_Split.h
     SketchPlugin_Tools.h
     SketchPlugin_Trim.h
     SketchPlugin_Validators.h
-    SketchPlugin_SketchDrawer.h
 )
 
 SET(PROJECT_SOURCES
     SketchPlugin_Arc.cpp
+    SketchPlugin_BSpline.cpp
+    SketchPlugin_BSplineBase.cpp
+    SketchPlugin_BSplinePeriodic.cpp
     SketchPlugin_Circle.cpp
     SketchPlugin_Constraint.cpp
     SketchPlugin_ConstraintAngle.cpp
@@ -93,49 +106,61 @@ SET(PROJECT_SOURCES
     SketchPlugin_ConstraintRigid.cpp
     SketchPlugin_ConstraintTangent.cpp
     SketchPlugin_ConstraintVertical.cpp
+    SketchPlugin_CurveFitting.cpp
     SketchPlugin_Ellipse.cpp
+    SketchPlugin_EllipticArc.cpp
     SketchPlugin_ExternalValidator.cpp
     SketchPlugin_Feature.cpp
     SketchPlugin_IntersectionPoint.cpp
     SketchPlugin_Line.cpp
     SketchPlugin_MacroArc.cpp
+    SketchPlugin_MacroBSpline.cpp
     SketchPlugin_MacroCircle.cpp
     SketchPlugin_MacroEllipse.cpp
+    SketchPlugin_MacroEllipticArc.cpp
     SketchPlugin_MultiRotation.cpp
     SketchPlugin_MultiTranslation.cpp
+    SketchPlugin_Offset.cpp
+    SketchPlugin_OverConstraintsResolver.cpp
     SketchPlugin_Plugin.cpp
     SketchPlugin_Point.cpp
     SketchPlugin_Projection.cpp
     SketchPlugin_Sketch.cpp
+    SketchPlugin_SketchCopy.cpp
+    SketchPlugin_SketchDrawer.cpp
     SketchPlugin_SketchEntity.cpp
     SketchPlugin_Split.cpp
     SketchPlugin_Tools.cpp
     SketchPlugin_Trim.cpp
     SketchPlugin_Validators.cpp
-    SketchPlugin_SketchDrawer.cpp
 )
 
 SET(PROJECT_LIBRARIES
     Config
     GeomAPI
     GeomAlgoAPI
+    GeomDataAPI
+    Locale
     ModelAPI
     ModelGeomAlgo
+    ModuleBase
     SketcherPrs
-    GeomDataAPI
 )
 
 SET(XML_RESOURCES
   plugin-Sketch.xml
+  plugin-SketchCopy.xml
   plugin-SketchDrawer.xml
 )
 
 SET(TEXT_RESOURCES
-       SketchPlugin_msg_en.ts
-       SketchPlugin_msg_fr.ts
+    SketchPlugin_msg_en.ts
+    SketchPlugin_msg_fr.ts
 )
 
+SOURCE_GROUP ("Generated Files" FILES ${PROJECT_AUTOMOC})
 SOURCE_GROUP ("Resource Files" FILES ${TEXT_RESOURCES})
+SOURCE_GROUP ("XML Files" FILES ${XML_RESOURCES})
 
 ADD_DEFINITIONS(-DSKETCHPLUGIN_EXPORTS)
 ADD_LIBRARY(SketchPlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES} ${TEXT_RESOURCES})
@@ -144,12 +169,15 @@ TARGET_LINK_LIBRARIES(SketchPlugin ${PROJECT_LIBRARIES})
 INCLUDE_DIRECTORIES(
   ../Config
   ../Events
+  ../Locale
   ../ModelAPI
   ../ModelGeomAlgo
+  ../ModuleBase
   ../GeomAPI
   ../GeomAlgoAPI
   ../GeomDataAPI
   ../SketcherPrs
+  ${OpenCASCADE_INCLUDE_DIR}
 )
 
 INSTALL(TARGETS SketchPlugin DESTINATION ${SHAPER_INSTALL_PLUGIN_FILES})
@@ -157,156 +185,38 @@ INSTALL(FILES ${XML_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
 INSTALL(DIRECTORY icons/ DESTINATION ${SHAPER_INSTALL_XML_RESOURCES}/icons/Sketch)
 INSTALL(FILES ${TEXT_RESOURCES} DESTINATION ${SHAPER_INSTALL_XML_RESOURCES})
 
-ADD_UNIT_TESTS(
-  Test1061.py
-  Test1577.py
-  Test1578.py
-  Test1673.py
-  Test1779.py
-  Test1924.py
-  Test1963.py
-  Test1966.py
-  Test1967.py
-  Test2034_1.py
-  Test2034_2.py
-  Test2034_3.py
-  Test2062.py
-  Test2095.py
-  Test2115.py
-  Test2119.py
-  Test2134.py
-  Test2157.py
-  Test2157_2.py
-  Test2224.py
-  Test2229.py
-  Test2239.py
-  Test2273.py
-  Test2280.py
-  Test2287.py
-  Test2341.py
-  Test2376.py
-  Test2390.py
-  Test2393.py
-  Test2425.py
-  Test2427.py
-  Test2440.py
-  Test2481.py
-  Test2654.py
-  Test2711.py
-  Test2741.py
-  Test2810.py
-  Test2824.py
-  Test2860.py
-  Test2894.py
-  TestArcBehavior.py
-  TestChangeSketchPlane1.py
-  TestChangeSketchPlane2.py
-  TestChangeSketchPlane3.py
-  TestConstraintAngle.py
-  TestConstraintAngleEllipse.py
-  TestConstraintCoincidence.py
-  TestConstraintCoincidenceEllipse.py
-  TestConstraintCollinear.py
-  TestConstraintCollinearEllipse.py
-  TestConstraintDistance.py
-  TestConstraintDistanceEllipse.py
-  TestConstraintDistanceBehavior.py
-  TestConstraintDistanceHorizontal.py
-  TestConstraintDistanceVertical.py
-  TestConstraintEqual.py
-  TestConstraintEqualEllipse.py
-  TestConstraintFixed.py
-  TestConstraintHorizontal.py
-  TestConstraintHorizontalValidator.py
-  TestConstraintLength.py
-  TestConstraintMiddlePoint.py
-  TestConstraintMiddlePointOnArc.py
-  TestConstraintParallel.py
-  TestConstraintPerpendicular.py
-  TestConstraintPerpendicularArcLine.py
-  TestConstraintRadius.py
-  TestConstraintRadiusFailure.py
-  TestConstraintTangent.py
-  TestConstraintVertical.py
-  TestCreateArcByCenterStartEnd.py
-  TestCreateArcByTangentEdge.py
-  TestCreateArcByThreePoints.py
-  TestCreateArcByTransversalLine.py
-  TestCreateArcChangeType.py
-  TestCreateCircleByCenterAndPassed.py
-  TestCreateCircleByThreePoints.py
-  TestCreateCircleChangeType.py
-  TestCreateEllipseByCenterSemiaxisAndPassed.py
-  TestCreateEllipseByMajorAxisAndPassed.py
-  TestCreateEllipseByExternal.py
-  TestDegeneratedGeometry.py
-  TestDistanceDump.py
-  TestDistanceSignedVsUnsigned01.py
-  TestDistanceSignedVsUnsigned02.py
-  TestDistanceSignedVsUnsigned03.py
-  TestDistanceSignedVsUnsigned04.py
-  TestDistanceSignedVsUnsigned05.py
-  TestEdgesOrder.py
-  TestFillet.py
-  TestFilletAfterFolder.py
-  TestFilletInteracting.py
-  TestHighload.py
-  TestIntersectionChangeEdge.py
-  TestIntersectionWithCircle.py
-  TestIntersectionWithLine.py
-  TestIntersectionWithSpline.py
-  TestMirror.py
-  TestMultiRotation.py
-  TestMultiRotation01.py
-  TestMultiRotation02.py
-  TestMultiRotation03.py
-  TestMultiRotation04.py
-  TestMultiRotation05.py
-  TestMultiRotationWithParameter.py
-  TestMultiTranslation.py
-  TestPresentation.py
-  TestProjection.py
-  TestProjectionIntoResult.py
-  TestProjectionUpdate.py
-  TestRectangle.py
-  TestRemoveEllipse.py
-  TestRemoveSketch.py
-  TestSignedDistancePointLine.py
-  TestSignedDistancePointPoint.py
-  TestSketchDrawer.py
-  TestSketchPointLine.py
-  TestSnowflake.py
-  TestSplit.py
-  TestSplitLine.py
-  TestSplitPreview.py
-  TestTrimArc01.py
-  TestTrimArc02.py
-  TestTrimArc03.py
-  TestTrimArc04.py
-  TestTrimArc05.py
-  TestTrimArc06.py
-  TestTrimArc07.py
-  TestTrimArc08.py
-  TestTrimCircle01.py
-  TestTrimCircle02.py
-  TestTrimCircle03.py
-  TestTrimCircle04.py
-  TestTrimCircle05.py
-  TestTrimCircleAndArc01.py
-  TestTrimLine01.py
-  TestTrimLine02.py
-  TestTrimLine03.py
-  TestTrimPreview.py
-  TestUpdateSketch.py
-)
+include(tests.set)
+
+ADD_UNIT_TESTS(${TEST_NAMES})
+
+include(tests.set)
 
 if(${SKETCHER_CHANGE_RADIUS_WHEN_MOVE})
-  ADD_UNIT_TESTS(
-    TestMoveArc.py
-    TestMoveCircle.py
-    TestMoveEllipse.py
-    TestMoveLine.py
-    TestMovementComplex.py
-    TestMovePoint.py
-  )
+  include(tests_change_radius.set)
+  ADD_UNIT_TESTS(${TEST_NAMES_CHANGE_RADIUS})
 endif()
+
+ADD_RESTRICTED_TESTS(
+  Test20204.py
+)
+
+if(${HAVE_SALOME})
+  enable_testing()
+  set(TEST_INSTALL_DIRECTORY "${SALOME_SHAPER_INSTALL_TESTS}/SketchPlugin")
+  
+  install(FILES CTestTestfileInstall.cmake
+  DESTINATION ${TEST_INSTALL_DIRECTORY}
+  RENAME CTestTestfile.cmake)
+  if(${SKETCHER_CHANGE_RADIUS_WHEN_MOVE})
+    set(TEST_NAMES ${TEST_NAMES} ${TEST_NAMES_CHANGE_RADIUS})
+    install(FILES tests_change_radius.set DESTINATION ${TEST_INSTALL_DIRECTORY})
+  endif()
+  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})