diff options
author | Ankit Meel <ankitjmeel@gmail.com> | 2021-03-26 22:38:51 +0300 |
---|---|---|
committer | Ankit Meel <ankitjmeel@gmail.com> | 2021-03-26 22:38:51 +0300 |
commit | ad31b13f91e40b40d75222923ac48f6682476b0c (patch) | |
tree | 55ff4f6090f53e07f5196eae2dbd55610af8091e /source/creator/CMakeLists.txt | |
parent | 35d5cc898232313db3d2d815528ab534ba188445 (diff) |
macOS/bpy: add support for OpenMP
Changes made:
* Add OpenMP linker flags.
* Copy the libomp.dylib to `2.93/lib/libomp.dylib`.
* Change the `LC_LOAD_DYLIB` item such that
the lib is found at `bpy.so/../../Resources/2.93/lib/libomp.dylib`.
Installation is done by D10664.
Reviewed By: #platform_macos, brecht
Maniphest Tasks: T86579
Differential Revision: https://developer.blender.org/D10657
Diffstat (limited to 'source/creator/CMakeLists.txt')
-rw-r--r-- | source/creator/CMakeLists.txt | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index c7b940d0012..07bc1d5d83d 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -1005,6 +1005,24 @@ elseif(APPLE) FILES ${LIBDIR}/openmp/lib/libomp.dylib DESTINATION Blender.app/Contents/Resources/lib ) + if(WITH_PYTHON_MODULE) + # Move the dylib in a Blender version folder to keep the corresponding OpenMP version. + # Also for easy copying of a single folder, `TARGETDIR_VER` to site-packages + # during installation. + install( + DIRECTORY ${CMAKE_BINARY_DIR}/Resources/lib + DESTINATION ${TARGETDIR_VER} + ) + add_custom_command(TARGET blender POST_BUILD + # The old `LC_LOAD_DYLIB` is the `LC_ID_DYLIB` of the LIBDIR OpenMP dylib. + # Change it to support multiple rpaths. + COMMAND xcrun install_name_tool -change "@executable_path/../Resources/lib/libomp.dylib" "@rpath/libomp.dylib" "$<TARGET_FILE:blender>" + # For installation into site-packages. + COMMAND xcrun install_name_tool -add_rpath "@loader_path/../Resources/${TARGETDIR_VER}/lib" "$<TARGET_FILE:blender>" + # For in-build-folder experiments. + COMMAND xcrun install_name_tool -add_rpath "@loader_path/${TARGETDIR_VER}/lib" "$<TARGET_FILE:blender>" + ) + endif() endif() if(WITH_LLVM AND NOT LLVM_STATIC) |