Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnkit Meel <ankitjmeel@gmail.com>2021-03-26 22:38:51 +0300
committerAnkit Meel <ankitjmeel@gmail.com>2021-03-26 22:38:51 +0300
commitad31b13f91e40b40d75222923ac48f6682476b0c (patch)
tree55ff4f6090f53e07f5196eae2dbd55610af8091e /source/creator/CMakeLists.txt
parent35d5cc898232313db3d2d815528ab534ba188445 (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.txt18
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)