X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FFeaturesAPI%2FCMakeLists.txt;h=3590a35e0419e14d5b53da7d8973d8778d8c7634;hb=06e7f5859095193fc7f498bd89a7d28009794f53;hp=0809f3fe6bd4f0f281a0fbc303e006cfc75efac4;hpb=7e8e0d953aaf32d7590d5706b7a6d4689b336a2a;p=modules%2Fshaper.git diff --git a/src/FeaturesAPI/CMakeLists.txt b/src/FeaturesAPI/CMakeLists.txt index 0809f3fe6..3590a35e0 100644 --- a/src/FeaturesAPI/CMakeLists.txt +++ b/src/FeaturesAPI/CMakeLists.txt @@ -1,24 +1,109 @@ -## Copyright (C) 2014-20xx CEA/DEN, EDF R&D +# Copyright (C) 2014-2023 CEA, EDF +# +# 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 +# INCLUDE(Common) SET(PROJECT_HEADERS FeaturesAPI.h - FeaturesAPI_Boolean.h + FeaturesAPI_BooleanCut.h + FeaturesAPI_BooleanFuse.h + FeaturesAPI_BooleanCommon.h + FeaturesAPI_BooleanSmash.h + FeaturesAPI_BooleanFill.h + FeaturesAPI_Chamfer.h FeaturesAPI_Extrusion.h - FeaturesAPI_Group.h + FeaturesAPI_ExtrusionBoolean.h + FeaturesAPI_Fillet.h + FeaturesAPI_GlueFaces.h + FeaturesAPI_Intersection.h + FeaturesAPI_Measurement.h + FeaturesAPI_NormalToFace.h + FeaturesAPI_MultiRotation.h + FeaturesAPI_MultiTranslation.h + FeaturesAPI_Partition.h + FeaturesAPI_Pipe.h + FeaturesAPI_Loft.h FeaturesAPI_Placement.h + FeaturesAPI_PointCloudOnFace.h + FeaturesAPI_Recover.h + FeaturesAPI_RemoveResults.h + FeaturesAPI_RemoveSubShapes.h + FeaturesAPI_Revolution.h + FeaturesAPI_RevolutionBoolean.h FeaturesAPI_Rotation.h + FeaturesAPI_Scale.h + FeaturesAPI_Sewing.h + FeaturesAPI_Symmetry.h FeaturesAPI_Translation.h + FeaturesAPI_Union.h + FeaturesAPI_FusionFaces.h + FeaturesAPI_Copy.h + FeaturesAPI_ImportResult.h + FeaturesAPI_Defeaturing.h + FeaturesAPI_PointCoordinates.h + FeaturesAPI_GeometryCalculation.h + FeaturesAPI_BoundingBox.h + FeaturesAPI_LimitTolerance.h + FeaturesAPI_SharedFaces.h ) SET(PROJECT_SOURCES - FeaturesAPI_Boolean.cpp + FeaturesAPI_BooleanCut.cpp + FeaturesAPI_BooleanFuse.cpp + FeaturesAPI_BooleanCommon.cpp + FeaturesAPI_BooleanSmash.cpp + FeaturesAPI_BooleanFill.cpp + FeaturesAPI_Chamfer.cpp FeaturesAPI_Extrusion.cpp - FeaturesAPI_Group.cpp + FeaturesAPI_ExtrusionBoolean.cpp + FeaturesAPI_Fillet.cpp + FeaturesAPI_GlueFaces.cpp + FeaturesAPI_Intersection.cpp + FeaturesAPI_Measurement.cpp + FeaturesAPI_NormalToFace.cpp + FeaturesAPI_MultiRotation.cpp + FeaturesAPI_MultiTranslation.cpp + FeaturesAPI_Partition.cpp + FeaturesAPI_Pipe.cpp + FeaturesAPI_Loft.cpp FeaturesAPI_Placement.cpp + FeaturesAPI_PointCloudOnFace.cpp + FeaturesAPI_Recover.cpp + FeaturesAPI_RemoveResults.cpp + FeaturesAPI_RemoveSubShapes.cpp + FeaturesAPI_Revolution.cpp + FeaturesAPI_RevolutionBoolean.cpp FeaturesAPI_Rotation.cpp + FeaturesAPI_Scale.cpp + FeaturesAPI_Sewing.cpp + FeaturesAPI_Symmetry.cpp FeaturesAPI_Translation.cpp + FeaturesAPI_Union.cpp + FeaturesAPI_FusionFaces.cpp + FeaturesAPI_Copy.cpp + FeaturesAPI_ImportResult.cpp + FeaturesAPI_Defeaturing.cpp + FeaturesAPI_PointCoordinates.cpp + FeaturesAPI_GeometryCalculation.cpp + FeaturesAPI_BoundingBox.cpp + FeaturesAPI_LimitTolerance.cpp + FeaturesAPI_SharedFaces.cpp ) SET(PROJECT_LIBRARIES @@ -40,8 +125,7 @@ INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/src/FeaturesPlugin ) -#TODO(spo): is ${CAS_DEFINITIONS} necessary? -ADD_DEFINITIONS(-DFEATURESAPI_EXPORTS ${CAS_DEFINITIONS}) +ADD_DEFINITIONS(-DFEATURESAPI_EXPORTS) ADD_LIBRARY(FeaturesAPI SHARED ${PROJECT_SOURCES} ${PROJECT_HEADERS}) TARGET_LINK_LIBRARIES(FeaturesAPI ${PROJECT_LIBRARIES}) @@ -52,13 +136,13 @@ INCLUDE(PythonAPI) SET_SOURCE_FILES_PROPERTIES(FeaturesAPI.i PROPERTIES CPLUSPLUS ON) SET_SOURCE_FILES_PROPERTIES(FeaturesAPI.i PROPERTIES SWIG_DEFINITIONS "-shadow") -#TODO(spo): is ModelAPI necessary or it could be received by INTERFACE_ (may require modern CMake)? SET(SWIG_LINK_LIBRARIES FeaturesAPI ModelHighAPI ModelAPI ${PYTHON_LIBRARIES} ) +SET(CMAKE_SWIG_FLAGS -threads -w325,321,302,362,322,383,403) SET(SWIG_MODULE_FeaturesAPI_EXTRA_DEPS ${SWIG_MODULE_FeaturesAPI_EXTRA_DEPS} ${PROJECT_SOURCE_DIR}/src/ModelHighAPI/ModelHighAPI.i @@ -66,7 +150,11 @@ SET(SWIG_MODULE_FeaturesAPI_EXTRA_DEPS ${SWIG_MODULE_FeaturesAPI_EXTRA_DEPS} ${PROJECT_HEADERS} ) -SWIG_ADD_MODULE(FeaturesAPI python FeaturesAPI.i ${PROJECT_HEADERS}) +IF(${CMAKE_VERSION} VERSION_GREATER "3.8.0") + SWIG_ADD_LIBRARY(FeaturesAPI LANGUAGE python SOURCES FeaturesAPI.i ${PROJECT_HEADERS}) +ELSE() + SWIG_ADD_MODULE(FeaturesAPI python FeaturesAPI.i ${PROJECT_HEADERS}) +ENDIF() SWIG_LINK_LIBRARIES(FeaturesAPI ${SWIG_LINK_LIBRARIES}) IF(WIN32) @@ -76,11 +164,3 @@ ENDIF(WIN32) INSTALL(TARGETS _FeaturesAPI DESTINATION ${SHAPER_INSTALL_SWIG}) INSTALL(TARGETS FeaturesAPI DESTINATION ${SHAPER_INSTALL_BIN}) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/FeaturesAPI.py DESTINATION ${SHAPER_INSTALL_SWIG}) - -# Tests -INCLUDE(UnitTest) - -ADD_UNIT_TESTS( -) - -# ADD_SUBDIRECTORY (Test)