-
-SWIG_ADD_MODULE(MEDLoader python MEDLoader.i)
-SWIG_LINK_LIBRARIES(MEDLoader ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} medloader medcoupling)
+
+# SWIG must run after the doc if we want to have the docstrings extracted from Doxygen
+# into the Python module:
+IF(MEDCOUPLING_BUILD_DOC)
+ LIST(APPEND SWIG_MODULE_MEDLoader_EXTRA_FLAGS -DWITH_DOCSTRINGS)
+ LIST(APPEND SWIG_MODULE_MEDLoader_EXTRA_DEPS
+ ${PROJECT_BINARY_DIR}/doc/MEDLoader_doc.i
+ swig_ready)
+ENDIF()
+
+IF(WIN32)
+ SET_PROPERTY(SOURCE MEDLoader.i PROPERTY COMPILE_DEFINITIONS WIN32)
+ENDIF()
+
+IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
+ SWIG_ADD_MODULE(MEDLoader python MEDLoader.i)
+ELSE()
+ SWIG_ADD_LIBRARY(MEDLoader LANGUAGE python SOURCES MEDLoader.i)
+ENDIF()
+
+SWIG_LINK_LIBRARIES(MEDLoader ${PYTHON_LIBRARIES} ${PLATFORM_LIBS} medloader medcouplingcpp )
+SWIG_CHECK_GENERATION(MEDLoader)