From c8cc8ab1c86aecc66368be6b6e86e21be822a784 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 9 Mar 2017 13:59:54 +0100 Subject: [PATCH] Resolve python library linking issues on OSX --- src/ifcwrap/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index 4dea70ff1a..5cb3a6259a 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -52,8 +52,14 @@ ENDIF() SET_SOURCE_FILES_PROPERTIES(IfcPython.i PROPERTIES CPLUSPLUS ON) SWIG_ADD_MODULE(ifcopenshell_wrapper python IfcPython.i) +if("$ENV{LDFLAGS}" MATCHES ".undefined.suppress") +# On osx there is some state in the python dylib. With `-Wl,undefined,suppress` we can ignore the missing symbols at compile time. +SWIG_LINK_LIBRARIES(ifcopenshell_wrapper ${IFCOPENSHELL_LIBRARIES} ${OPENCASCADE_LIBRARIES} + ${ICU_LIBRARIES} ${Boost_LIBRARIES}) +else() SWIG_LINK_LIBRARIES(ifcopenshell_wrapper ${IFCOPENSHELL_LIBRARIES} ${PYTHON_LIBRARIES} ${OPENCASCADE_LIBRARIES} ${ICU_LIBRARIES} ${Boost_LIBRARIES}) +endif() if ((NOT WIN32) AND BUILD_SHARED_LIBS) SET_INSTALL_RPATHS(${SWIG_MODULE_ifcopenshell_wrapper_REAL_NAME} "${IFCDIRS};${OCC_LIBRARY_DIR};${ICU_LIBRARY_DIR}") endif()