diff --git a/CMakeLists.txt b/CMakeLists.txt index 2a2a44c3..a44d9ffd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,12 +77,12 @@ if(MINGW) list(APPEND CMAKE_LIBRARY_PATH ${MINGW_LIB}) else() if(APPLE) - set(CMAKE_INSTALL_RPATH "@executable_path/../Frameworks;@executable_path/lib;@loader_path/../lib") - set(CMAKE_MACOSX_RPATH 1) if(NOT CMAKE_CROSSCOMPILING) include_directories(/usr/local/include) link_directories(/usr/local/lib) endif() + set(CMAKE_INSTALL_RPATH "@executable_path/../Frameworks;@executable_path/lib;@loader_path/../lib") + set(CMAKE_MACOSX_RPATH 1) else() set(CMAKE_INSTALL_RPATH "\$ORIGIN/lib") endif() @@ -627,6 +627,8 @@ endif() message(STATUS "Building PIP modules: ${PIP_LIBS_TARGETS}") if(DEFINED LIBPROJECT) set(PIP_LIBS_TARGETS ${PIP_LIBS_TARGETS} PARENT_SCOPE) + list(APPEND _ALL_TARGETS ${PIP_LIBS_TARGETS}) + set(_ALL_TARGETS ${_ALL_TARGETS} PARENT_SCOPE) endif() if(NOT PIP_FREERTOS) foreach(LIB_ ${LIBS_STATUS}) @@ -638,6 +640,18 @@ if(NOT PIP_FREERTOS) endif() +# Apple crosscompiling rpath patch +if (APPLE AND CMAKE_CROSSCOMPILING AND CMAKE_MACOSX_RPATH) + foreach(_T ${PIP_LIBS_TARGETS}) + foreach(_RP ${CMAKE_INSTALL_RPATH}) + add_custom_command(TARGET ${_T} POST_BUILD + COMMAND "${CMAKE_INSTALL_NAME_TOOL}" + "-add_rpath" "${_RP}" + "$/$") + endforeach() + endforeach() +endif() + # # Build Documentation #