Salome HOME
add Picture import
[modules/shaper.git] / src / GeomAlgoAPI / CMakeLists.txt
index 43727cf248cef9df30622283f38825a619ce950c..7f5752e09d253e8db37fd37368af8f334c48bbc2 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-2020  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)
 
@@ -34,19 +33,25 @@ SET(PROJECT_HEADERS
     GeomAlgoAPI_Prism.h
     GeomAlgoAPI_Revolution.h
     GeomAlgoAPI_Boolean.h
+    GeomAlgoAPI_ThroughAll.h
     GeomAlgoAPI_Rotation.h
     GeomAlgoAPI_Translation.h
     GeomAlgoAPI_MakeShape.h
     GeomAlgoAPI_MakeShapeCustom.h
     GeomAlgoAPI_MakeShapeList.h
     GeomAlgoAPI_MakeSweep.h
+    GeomAlgoAPI_MakeVolume.h
     GeomAlgoAPI_DFLoader.h
     GeomAlgoAPI_Placement.h
     GeomAlgoAPI_BREPImport.h
     GeomAlgoAPI_STEPImport.h
+    GeomAlgoAPI_STEPImportXCAF.h
     GeomAlgoAPI_IGESImport.h
     GeomAlgoAPI_BREPExport.h
     GeomAlgoAPI_STEPExport.h
+    GeomAlgoAPI_STLExport.h
+    GeomAlgoAPI_STLImport.h
+    GeomAlgoAPI_ImageImport.h
     GeomAlgoAPI_IGESExport.h
     GeomAlgoAPI_Transform.h
     GeomAlgoAPI_ShapeTools.h
@@ -72,6 +77,19 @@ SET(PROJECT_HEADERS
     GeomAlgoAPI_Symmetry.h
     GeomAlgoAPI_Scale.h
     GeomAlgoAPI_Circ2dBuilder.h
+    GeomAlgoAPI_UnifySameDomain.h
+    GeomAlgoAPI_Fillet.h
+    GeomAlgoAPI_Fillet1D.h
+    GeomAlgoAPI_SortListOfShapes.h
+    GeomAlgoAPI_Filling.h
+    GeomAlgoAPI_CurveBuilder.h
+    GeomAlgoAPI_NExplode.h
+    GeomAlgoAPI_Offset.h
+    GeomAlgoAPI_SolidClassifier.h
+    GeomAlgoAPI_MapShapesAndAncestors.h
+    GeomAlgoAPI_Projection.h
+    GeomAlgoAPI_Chamfer.h
+    GeomAlgoAPI_Defeaturing.h
 )
 
 SET(PROJECT_SOURCES
@@ -84,19 +102,25 @@ SET(PROJECT_SOURCES
     GeomAlgoAPI_Prism.cpp
     GeomAlgoAPI_Revolution.cpp
     GeomAlgoAPI_Boolean.cpp
+    GeomAlgoAPI_ThroughAll.cpp
     GeomAlgoAPI_Rotation.cpp
     GeomAlgoAPI_Translation.cpp
     GeomAlgoAPI_MakeShape.cpp
     GeomAlgoAPI_MakeShapeCustom.cpp
     GeomAlgoAPI_MakeShapeList.cpp
     GeomAlgoAPI_MakeSweep.cpp
+    GeomAlgoAPI_MakeVolume.cpp
     GeomAlgoAPI_DFLoader.cpp
     GeomAlgoAPI_Placement.cpp
     GeomAlgoAPI_BREPImport.cpp
     GeomAlgoAPI_STEPImport.cpp
+    GeomAlgoAPI_STEPImportXCAF.cpp
     GeomAlgoAPI_IGESImport.cpp
     GeomAlgoAPI_BREPExport.cpp
     GeomAlgoAPI_STEPExport.cpp
+    GeomAlgoAPI_STLExport.cpp
+    GeomAlgoAPI_STLImport.cpp
+    GeomAlgoAPI_ImageImport.cpp
     GeomAlgoAPI_IGESExport.cpp
     GeomAlgoAPI_Transform.cpp
     GeomAlgoAPI_ShapeTools.cpp
@@ -122,6 +146,19 @@ SET(PROJECT_SOURCES
     GeomAlgoAPI_Symmetry.cpp
     GeomAlgoAPI_Scale.cpp
     GeomAlgoAPI_Circ2dBuilder.cpp
+    GeomAlgoAPI_UnifySameDomain.cpp
+    GeomAlgoAPI_Fillet.cpp
+    GeomAlgoAPI_Fillet1D.cpp
+    GeomAlgoAPI_SortListOfShapes.cpp
+    GeomAlgoAPI_Filling.cpp
+    GeomAlgoAPI_CurveBuilder.cpp
+    GeomAlgoAPI_NExplode.cpp
+    GeomAlgoAPI_Offset.cpp
+    GeomAlgoAPI_SolidClassifier.cpp
+    GeomAlgoAPI_MapShapesAndAncestors.cpp
+    GeomAlgoAPI_Projection.cpp
+    GeomAlgoAPI_Chamfer.cpp
+    GeomAlgoAPI_Defeaturing.cpp
 )
 
 SET(PROJECT_LIBRARIES
@@ -129,38 +166,30 @@ SET(PROJECT_LIBRARIES
     GeomAlgoImpl
     ModelAPI
     XAOShaper
-    ${CAS_OCAF}
-    ${CAS_SHAPE}
-    ${CAS_TKBO}
-    ${CAS_TKBool}
-    ${CAS_TKBRep}
-    ${CAS_TKCAF}
-    ${CAS_TKCAF}
-    ${CAS_TKLCAF}
-    ${CAS_TKPrim}
-    ${CAS_TKSTEP}
-    ${CAS_TKSTEPBase}
-    ${CAS_TKIGES}
-    ${CAS_TKTopAlgo}
-    ${CAS_TKXSBase}
-    ${CAS_TKOffset}
-    ${CAS_TKShHealing}
+    ${OpenCASCADE_DataExchange_LIBRARIES}
+    ${OpenCASCADE_ModelingAlgorithms_LIBRARIES}
+    ${OpenCASCADE_ApplicationFramework_LIBRARIES}
 )
 
-ADD_DEFINITIONS(-DGEOMALGOAPI_EXPORTS ${CAS_DEFINITIONS})
+ADD_DEFINITIONS(-DGEOMALGOAPI_EXPORTS ${OpenCASCADE_DEFINITIONS})
 ADD_LIBRARY(GeomAlgoAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS})
 
-SET(CMAKE_SWIG_FLAGS "-Wall")
+SET(CMAKE_SWIG_FLAGS -w325,321,362,383,302)
 
 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES CPLUSPLUS ON)
 SET_SOURCE_FILES_PROPERTIES(GeomAlgoAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow")
 
+INCLUDE(UseQtExt)
+# additional include directories
+INCLUDE_DIRECTORIES(${QT_INCLUDES})
+
 INCLUDE_DIRECTORIES(
   ../GeomAPI
   ../GeomAlgoImpl
   ../ModelAPI
   ../XAO
-  ${CAS_INCLUDE_DIRS}
+  ${PROJECT_SOURCE_DIR}/src/Locale
+  ${OpenCASCADE_INCLUDE_DIR}
 )
 
 TARGET_LINK_LIBRARIES(GeomAlgoAPI ${PROJECT_LIBRARIES})
@@ -176,7 +205,11 @@ SET(SWIG_LINK_LIBRARIES
   ${PYTHON_LIBRARIES}
 )
 
-SWIG_ADD_MODULE(GeomAlgoAPI python GeomAlgoAPI.i ${PROJECT_HEADERS})
+IF(${CMAKE_VERSION} VERSION_GREATER "3.8.0")
+  SWIG_ADD_LIBRARY(GeomAlgoAPI LANGUAGE python SOURCES GeomAlgoAPI.i ${PROJECT_HEADERS})
+ELSE()
+  SWIG_ADD_MODULE(GeomAlgoAPI python GeomAlgoAPI.i ${PROJECT_HEADERS})
+ENDIF()
 SWIG_LINK_LIBRARIES(GeomAlgoAPI ${SWIG_LINK_LIBRARIES})
 
 IF(WIN32)