X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_SWIG_WITHIHM%2FCMakeLists.txt;h=0f0faf47d50e1a12bd6df8ffc3bc9a458daace00;hp=ded39676ff1220846df3510f353f0521f0ce32a8;hb=a274ade365bd0f0e19d56c577acc4a13aa1972a7;hpb=1bd4ba8acdfe7ab1edc96a016836e174a393d445 diff --git a/src/SMESH_SWIG_WITHIHM/CMakeLists.txt b/src/SMESH_SWIG_WITHIHM/CMakeLists.txt index ded39676f..0f0faf47d 100644 --- a/src/SMESH_SWIG_WITHIHM/CMakeLists.txt +++ b/src/SMESH_SWIG_WITHIHM/CMakeLists.txt @@ -1,9 +1,9 @@ -# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-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. +# 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 @@ -24,8 +24,7 @@ INCLUDE(${SWIG_USE_FILE}) INCLUDE_DIRECTORIES( ${QT_INCLUDES} ${PYTHON_INCLUDE_DIRS} - ${CAS_INCLUDE_DIRS} - ${VTK_INCLUDE_DIRS} + ${OpenCASCADE_INCLUDE_DIR} ${OGL_INCLUDE_DIRS} ${KERNEL_INCLUDE_DIRS} ${GUI_INCLUDE_DIRS} @@ -35,12 +34,15 @@ INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/src/SMESHGUI + ${PROJECT_SOURCE_DIR}/src/OBJECT + ${PROJECT_SOURCE_DIR}/src/SMESHDS + ${PROJECT_SOURCE_DIR}/src/SMDS ${PROJECT_BINARY_DIR}/idl ) # additional preprocessor / compiler flags ADD_DEFINITIONS( - ${CAS_DEFINITIONS} + ${OpenCASCADE_DEFINITIONS} ${OMNIORB_DEFINITIONS} ${PYTHON_DEFINITIONS} ) @@ -49,10 +51,10 @@ ADD_DEFINITIONS( SET(_link_LIBRARIES ${KERNEL_SalomeGenericObj} ${KERNEL_SALOMELocalTrace} + ${KERNEL_SalomeKernelHelpers} ${GUI_CAM} ${GUI_suit} ${GUI_qtx} - ${GUI_SalomeApp} ${GUI_std} ${GUI_Event} SMESH @@ -74,9 +76,14 @@ SET(SMESH_Swig_SOURCES ${SMESH_Swig_HEADERS} ) +# workaround about SWIG_ADD_MODULE bug: remove duplicates in include directories +GET_DIRECTORY_PROPERTY(_cmake_include_directories INCLUDE_DIRECTORIES) +LIST(REMOVE_DUPLICATES _cmake_include_directories) +SET_DIRECTORY_PROPERTIES(PROPERTIES INCLUDE_DIRECTORIES "${_cmake_include_directories}") + # swig flags SET_SOURCE_FILES_PROPERTIES(libSMESH_Swig.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libSMESH_Swig.i PROPERTIES SWIG_DEFINITIONS "-shadow") +SET_SOURCE_FILES_PROPERTIES(libSMESH_Swig.i PROPERTIES SWIG_FLAGS "-py3") SET_SOURCE_FILES_PROPERTIES(libSMESH_swig_wrap.cpp PROPERTIES COMPILE_FLAGS "-DHAVE_CONFIG_H") # --- scripts --- @@ -87,11 +94,21 @@ SET(_swig_SCRIPTS ) # --- rules --- +IF(${CMAKE_VERSION} VERSION_LESS "3.8.0") + SWIG_ADD_MODULE(libSMESH_Swig python ${SMESH_Swig_SOURCES}) +ELSE() + SWIG_ADD_LIBRARY(libSMESH_Swig LANGUAGE python SOURCES ${SMESH_Swig_SOURCES}) +ENDIF() + -SWIG_ADD_MODULE(libSMESH_Swig python ${SMESH_Swig_SOURCES}) SWIG_LINK_LIBRARIES(libSMESH_Swig ${_link_LIBRARIES}) +SWIG_CHECK_GENERATION(libSMESH_Swig) +IF(WIN32) + SET_TARGET_PROPERTIES(_libSMESH_Swig PROPERTIES DEBUG_OUTPUT_NAME _libSMESH_Swig_d) +ENDIF(WIN32) + INSTALL(TARGETS _libSMESH_Swig DESTINATION ${SALOME_INSTALL_LIBS}) INSTALL(FILES ${SMESH_Swig_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS}) -SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}" ${SALOME_INSTALL_BINS}) +SALOME_INSTALL_SCRIPTS("${_swig_SCRIPTS}" ${SALOME_INSTALL_BINS} EXTRA_DPYS "${SWIG_MODULE_libSMESH_Swig_REAL_NAME}")