Salome HOME
Improve swig generation process on Windows platform.
[modules/smesh.git] / src / SMESH_SWIG_WITHIHM / CMakeLists.txt
index ded39676ff1220846df3510f353f0521f0ce32a8..8a252507cbe8c7f57b70fd8a1d46b69315c7cff3 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2016  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
@@ -35,6 +35,9 @@ 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
 )
 
@@ -74,6 +77,11 @@ 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")
@@ -90,6 +98,11 @@ SET(_swig_SCRIPTS
 
 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})