OSX/buildsystems: unify openmp handling by changing iomp5 id to @loader_path/../Resources/lib/libiomp5.dylib
This makes install_name_tool usage obsolete here and also assures cmake builds can be codesigned. IMPORTANT: update lib (darwin-9.x.universal/openmp)
This commit is contained in:
@@ -2049,7 +2049,7 @@ elseif(APPLE)
|
|||||||
link_directories(${LIBDIR}/openmp/lib)
|
link_directories(${LIBDIR}/openmp/lib)
|
||||||
# This is a workaround for our helperbinaries ( datatoc, masgfmt, ... ),
|
# This is a workaround for our helperbinaries ( datatoc, masgfmt, ... ),
|
||||||
# They are linked also to omp lib, so we need it in builddir for runtime exexcution, TODO: remove all unneeded dependencies from these
|
# They are linked also to omp lib, so we need it in builddir for runtime exexcution, TODO: remove all unneeded dependencies from these
|
||||||
execute_process(COMMAND ditto -arch ${CMAKE_OSX_ARCHITECTURES} ${LIBDIR}/openmp/lib/libiomp5.dylib ${CMAKE_BINARY_DIR}/bin/libiomp5.dylib) # for intermediate binaries, lib id @loader_path
|
execute_process(COMMAND ditto -arch ${CMAKE_OSX_ARCHITECTURES} ${LIBDIR}/openmp/lib/libiomp5.dylib ${CMAKE_BINARY_DIR}/Resources/lib/libiomp5.dylib) # for intermediate binaries, lib id @loader_path
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
@@ -809,10 +809,6 @@ def AppIt(target=None, source=None, env=None):
|
|||||||
instname = env['LCGDIR'][1:] # made libiomp5 part of blender libs
|
instname = env['LCGDIR'][1:] # made libiomp5 part of blender libs
|
||||||
cmd = 'ditto --arch %s %s/openmp/lib/libiomp5.dylib %s/%s.app/Contents/Resources/lib/'%(osxarch, instname, installdir, binary) # copy libiomp5
|
cmd = 'ditto --arch %s %s/openmp/lib/libiomp5.dylib %s/%s.app/Contents/Resources/lib/'%(osxarch, instname, installdir, binary) # copy libiomp5
|
||||||
commands.getoutput(cmd)
|
commands.getoutput(cmd)
|
||||||
cmd = 'install_name_tool -id @loader_path/../Resources/lib/libiomp5.dylib %s/%s.app/Contents/Resources/lib/libiomp5.dylib'%(installdir, binary) # change id of libiomp5
|
|
||||||
commands.getoutput(cmd)
|
|
||||||
cmd = 'install_name_tool -change @loader_path/libiomp5.dylib @loader_path/../Resources/lib/libiomp5.dylib %s/%s.app/Contents/MacOS/%s'%(installdir, binary, binary) # change ref to libiomp5 ( blender )
|
|
||||||
commands.getoutput(cmd)
|
|
||||||
|
|
||||||
# extract copy system python, be sure to update other build systems
|
# extract copy system python, be sure to update other build systems
|
||||||
# when making changes to the files that are copied.
|
# when making changes to the files that are copied.
|
||||||
|
@@ -837,7 +837,7 @@ elseif(APPLE)
|
|||||||
if(WITH_OPENMP AND CMAKE_C_COMPILER_ID MATCHES "Clang" AND NOT ${CMAKE_C_COMPILER_VERSION} VERSION_LESS '3.4')
|
if(WITH_OPENMP AND CMAKE_C_COMPILER_ID MATCHES "Clang" AND NOT ${CMAKE_C_COMPILER_VERSION} VERSION_LESS '3.4')
|
||||||
install(
|
install(
|
||||||
FILES ${LIBDIR}/openmp/lib/libiomp5.dylib
|
FILES ${LIBDIR}/openmp/lib/libiomp5.dylib
|
||||||
DESTINATION blender.app/Contents/MacOS
|
DESTINATION blender.app/Contents/Resources/lib/
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user