OS X: correctly parse output of otool -D.
In the past this relied on otool -XD not printing the name of the library itself, only the install name, but that doesn't work anymore as of 10.12.pull/66/head
parent
3ff236c494
commit
0e66eafe5a
|
@ -213,8 +213,9 @@ if(APPLE)
|
||||||
get_filename_component(name ${lib} NAME)
|
get_filename_component(name ${lib} NAME)
|
||||||
set(target ${CMAKE_CURRENT_BINARY_DIR}/solvespace.app/Contents/MacOS/${name})
|
set(target ${CMAKE_CURRENT_BINARY_DIR}/solvespace.app/Contents/MacOS/${name})
|
||||||
|
|
||||||
execute_process(COMMAND otool -XD ${lib}
|
execute_process(COMMAND otool -D ${lib}
|
||||||
OUTPUT_VARIABLE canonical_lib OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_VARIABLE canonical_lib OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
string(REGEX REPLACE "^.+:\n" "" canonical_lib ${canonical_lib})
|
||||||
add_custom_command(TARGET solvespace POST_BUILD
|
add_custom_command(TARGET solvespace POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${lib} ${target}
|
COMMAND ${CMAKE_COMMAND} -E copy ${lib} ${target}
|
||||||
COMMAND install_name_tool -change ${canonical_lib} @executable_path/${name}
|
COMMAND install_name_tool -change ${canonical_lib} @executable_path/${name}
|
||||||
|
|
Loading…
Reference in New Issue