From bf24cd41fccec48a32119e558794a86214de0590 Mon Sep 17 00:00:00 2001 From: Anthony Geay Date: Tue, 12 Jan 2021 12:01:34 +0100 Subject: [PATCH] Init --- src/SMESH_SWIG/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++++- src/SMESH_SWIG/SMeshHelper.cxx | 27 ++++++++++++++++++++++ src/SMESH_SWIG/SMeshHelper.h | 22 ++++++++++++++++++ src/SMESH_SWIG/SMeshHelper.i | 27 ++++++++++++++++++++++ 4 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 src/SMESH_SWIG/SMeshHelper.cxx create mode 100644 src/SMESH_SWIG/SMeshHelper.h create mode 100644 src/SMESH_SWIG/SMeshHelper.i diff --git a/src/SMESH_SWIG/CMakeLists.txt b/src/SMESH_SWIG/CMakeLists.txt index becd38840..a19bd93e4 100644 --- a/src/SMESH_SWIG/CMakeLists.txt +++ b/src/SMESH_SWIG/CMakeLists.txt @@ -17,7 +17,29 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# --- scripts --- +include(${SWIG_USE_FILE}) + +# --- options --- +# additional include directories +include_directories( + ${QT_INCLUDES} + ${PYTHON_INCLUDE_DIRS} + ${OpenCASCADE_INCLUDE_DIR} + ${OGL_INCLUDE_DIRS} + ${KERNEL_INCLUDE_DIRS} + ${GUI_INCLUDE_DIRS} + ${MEDFILE_INCLUDE_DIRS} + ${GEOM_INCLUDE_DIRS} + ${OMNIORB_INCLUDE_DIR} + ${Boost_INCLUDE_DIRS} + ${CMAKE_CURRENT_SOURCE_DIR} + ${PROJECT_SOURCE_DIR}/src/SMESHDS + ${PROJECT_SOURCE_DIR}/src/SMESHUtils + ${PROJECT_SOURCE_DIR}/src/SMDS + ${PROJECT_SOURCE_DIR}/src/SMESH + ${PROJECT_SOURCE_DIR}/src/SMESH_I + ${PROJECT_BINARY_DIR}/idl +) # scripts / static SET(_bin_SCRIPTS @@ -99,6 +121,23 @@ SET(StdMeshers_SCRIPTS __init__.py StdMeshersBuilder.py ) + +SET(SMeshHelper_HEADERS SMeshHelper.h SMeshHelper.i) +SET(SMeshHelper_SOURCES SMeshHelper.cxx ${SMeshHelper_HEADERS}) +SET_SOURCE_FILES_PROPERTIES(SMeshHelper.i PROPERTIES CPLUSPLUS ON) +SET_SOURCE_FILES_PROPERTIES(SMeshHelper.i PROPERTIES SWIG_FLAGS "-py3") +SET_SOURCE_FILES_PROPERTIES(SMeshHelper_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H") +SET(_swig_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/SMeshHelper.py ) +IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") + SWIG_ADD_MODULE(SMeshHelper python ${SMeshHelper_SOURCES}) +ELSE() + SWIG_ADD_LIBRARY(SMeshHelper LANGUAGE python SOURCES ${SMeshHelper_SOURCES}) +ENDIF() +SWIG_LINK_LIBRARIES(SMeshHelper ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} SMESHEngine ) +install(TARGETS _SMeshHelper DESTINATION ${SALOME_INSTALL_LIBS}) +install(FILES ${SMeshHelper_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS}) +SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}" ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_SMeshHelper_REAL_NAME}") + # --- rules --- SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_PYTHON} DEF_PERMS) SALOME_INSTALL_SCRIPTS("${smesh_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh DEF_PERMS) diff --git a/src/SMESH_SWIG/SMeshHelper.cxx b/src/SMESH_SWIG/SMeshHelper.cxx new file mode 100644 index 000000000..df8650c0f --- /dev/null +++ b/src/SMESH_SWIG/SMeshHelper.cxx @@ -0,0 +1,27 @@ +// Copyright (C) 2021 CEA/DEN, EDF R&D, OPEN CASCADE +// +// 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 "SMeshHelper.h" + +#include "SMESH_Gen_i.hxx" + +std::string BuildSMESHInstance() +{ + return "%%%%%%%%"; +} diff --git a/src/SMESH_SWIG/SMeshHelper.h b/src/SMESH_SWIG/SMeshHelper.h new file mode 100644 index 000000000..391684db7 --- /dev/null +++ b/src/SMESH_SWIG/SMeshHelper.h @@ -0,0 +1,22 @@ +// Copyright (C) 2021 CEA/DEN, EDF R&D, OPEN CASCADE +// +// 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 + +std::string BuildSMESHInstance(); diff --git a/src/SMESH_SWIG/SMeshHelper.i b/src/SMESH_SWIG/SMeshHelper.i new file mode 100644 index 000000000..51771ad1b --- /dev/null +++ b/src/SMESH_SWIG/SMeshHelper.i @@ -0,0 +1,27 @@ +// Copyright (C) 2021 CEA/DEN, EDF R&D, OPEN CASCADE +// +// 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 +// + +%module SMeshHelper + +%include "std_string.i" + +%inline +{ + std::string BuildSMESHInstance(); +} -- 2.39.2