Salome HOME
bos #26449: SHAPER: save imported images
[modules/shaper.git] / src / ModelAPI / CMakeLists.txt
index f5d95d6639c3bbe7924197f4a9d48a9b57f779b7..bbef9d3e562ad4390e368ce668b93c7ef8edb3e0 100644 (file)
@@ -1,22 +1,21 @@
-## Copyright (C) 2014-2017  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
-## License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-##
-## This library is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## Lesser General Public License for more details.
-##
-## You should have received a copy of the GNU Lesser General Public
-## License along with this library; if not, write to the Free Software
-## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-##
-## See http:##www.salome-platform.org/ or
-## email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
-##
+# Copyright (C) 2014-2021  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
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
 
 FIND_PACKAGE(SWIG REQUIRED)
 INCLUDE(${SWIG_USE_FILE})
@@ -27,6 +26,7 @@ SET(PROJECT_HEADERS
     ModelAPI.h
     ModelAPI_Attribute.h
     ModelAPI_AttributeBoolean.h
+    ModelAPI_AttributeImage.h
     ModelAPI_AttributeIntArray.h
     ModelAPI_AttributeDocRef.h
     ModelAPI_AttributeDouble.h
@@ -46,11 +46,16 @@ SET(PROJECT_HEADERS
     ModelAPI_CompositeFeature.h
     ModelAPI_Data.h
     ModelAPI_Document.h
+    ModelAPI_Entity.h
     ModelAPI_EventReentrantMessage.h
     ModelAPI_Events.h
     ModelAPI_Expression.h
     ModelAPI_Feature.h
     ModelAPI_FeatureValidator.h
+    ModelAPI_Filter.h
+    ModelAPI_FiltersArgs.h
+    ModelAPI_FiltersFactory.h
+    ModelAPI_FiltersFeature.h
     ModelAPI_Folder.h
     ModelAPI_IReentrant.h
     ModelAPI_Object.h
@@ -65,12 +70,12 @@ SET(PROJECT_HEADERS
     ModelAPI_Session.h
     ModelAPI_Tools.h
     ModelAPI_Validator.h
-    ModelAPI_Entity.h
 )
 
 SET(PROJECT_SOURCES
     ModelAPI_Attribute.cpp
     ModelAPI_AttributeBoolean.cpp
+    ModelAPI_AttributeImage.cpp
     ModelAPI_AttributeIntArray.cpp
     ModelAPI_AttributeDocRef.cpp
     ModelAPI_AttributeDouble.cpp
@@ -85,6 +90,7 @@ SET(PROJECT_SOURCES
     ModelAPI_AttributeString.cpp
     ModelAPI_AttributeStringArray.cpp
     ModelAPI_AttributeTables.cpp
+    ModelAPI_AttributeValidator.cpp
     ModelAPI_BodyBuilder.cpp
     ModelAPI_CompositeFeature.cpp
     ModelAPI_Data.cpp
@@ -94,6 +100,7 @@ SET(PROJECT_SOURCES
     ModelAPI_Expression.cpp
     ModelAPI_Feature.cpp
     ModelAPI_FeatureValidator.cpp
+    ModelAPI_Filter.cpp
     ModelAPI_Folder.cpp
     ModelAPI_IReentrant.cpp
     ModelAPI_Object.cpp
@@ -107,16 +114,20 @@ SET(PROJECT_SOURCES
     ModelAPI_ResultParameter.cpp
     ModelAPI_Session.cpp
     ModelAPI_Tools.cpp
-    ModelAPI_AttributeValidator.cpp
 )
 
 SET(PROJECT_LIBRARIES
     Config
     GeomAPI
+    Locale
 )
-SET(CMAKE_SWIG_FLAGS -threads -Wall)
+SET(CMAKE_SWIG_FLAGS -threads -w325,321,362,383,302,403,451,473)
 ADD_DEFINITIONS(-DMODELAPI_EXPORTS)
 
+IF(TKTInspector)
+    ADD_DEFINITIONS(-DTINSPECTOR)
+ENDIF()
+
 ADD_LIBRARY(ModelAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
 SET_TARGET_PROPERTIES(ModelAPI PROPERTIES LINKER_LANGUAGE CXX)
 TARGET_LINK_LIBRARIES(ModelAPI ${PROJECT_LIBRARIES})
@@ -125,6 +136,8 @@ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/Config
                     ${PROJECT_SOURCE_DIR}/src/Events
                     ${PROJECT_SOURCE_DIR}/src/GeomAPI
                     ${PROJECT_SOURCE_DIR}/src/GeomAlgoAPI
+                    ${PROJECT_SOURCE_DIR}/src/Locale
+                    ${OpenCASCADE_INCLUDE_DIR}
 )
 
 
@@ -159,76 +172,23 @@ INSTALL(TARGETS _ModelAPI DESTINATION ${SHAPER_INSTALL_SWIG})
 INSTALL(TARGETS ModelAPI DESTINATION ${SHAPER_INSTALL_BIN})
 INSTALL(FILES ${SWIG_SCRIPTS} DESTINATION ${SHAPER_INSTALL_SWIG})
 
-ADD_UNIT_TESTS(TestConstants.py
-               TestUndoRedo.py
-               TestDocument.py
-               Test1064.py
-               TestResults.py
-               TestIntArray.py
-               Test1512.py
-               Test1562.py
-               TestDoubleArray.py
-               Test1757.py
-               Test1998.py
-               Test1995.py
-               Test2170.py
-               TestExternalConstruction.py
-               Test2228.py
-               Test2241.py
-               Test2252.py
-               Test2276.py
-               Test2389.py
-               Test2391.py
-               TestCustomName_BooleanCut.py
-               TestCustomName_CommonCompSolid.py
-               TestCustomName_CutCompSolid.py
-               TestCustomName_CutGroup.py
-               TestCustomName_DefaultName.py
-               TestCustomName_ExtrudeFace.py
-               TestCustomName_ExtrusionCut.py
-               TestCustomName_ExtrusionCutFace.py
-               TestCustomName_MultiTranslation.py
-               TestCustomName_Partition.py
-               TestCustomName_Placement.py
-               TestCustomName_Recover.py
-               TestCustomName_Rename.py
-               TestCustomName_RotateGroup.py
-               TestCustomName_Translation.py
-               TestFolder_Create.py
-               TestFolder_Update.py
-               TestFolder_Remove.py
-               TestFolder_Stability.py
-               TestFolder_CustomName.py
-               Test2358_1.py
-               Test2358_2.py
-               Test2396.py
-               Test2401.py
-               Test2413.py
-               Test2496.py
-               Test2510.py
-               TestFeatureSelection_1.py
-               TestFeatureSelection_2.py
-               Test2607.py
-               TestBlockRecalculation.py
-               TestSelectionScope.py
-               TestWeakNaming2125.py
-               TestWeakNaming2222.py
-               TestWeakNaming2245.py
-               TestWeakNaming2247.py
-               TestWeakNaming2248.py
-               TestWeakNaming2261.py
-               TestWeakNaming2291.py
-               TestWeakNaming2335.py
-               TestWeakNaming2375.py
-               TestWeakNaming2437.py
-               TestWeakNaming2445.py
-               TestWeakNaming2446.py
-               TestWeakNaming2452.py
-               Test2685.py
-               TestGeomNamingPlacement.py
-               TestGeomNamingRevolution.py
-               TestGeomNamingEdgeByFilter.py
-               TestGeomNamingSketchPlane.py
-               TestGeomNamingBoxWithFillet.py
-               TestContainerSelector.py
-)
+include(tests.set)
+
+ADD_UNIT_TESTS(${TEST_NAMES})
+
+if(${HAVE_SALOME})
+  enable_testing()
+  set(TEST_INSTALL_DIRECTORY "${SALOME_SHAPER_INSTALL_TESTS}/ModelAPI")
+  
+  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})