Mac: Set rpath instead of using install_name_tool from CMake (issue #1403)
This commit is contained in:
parent
c7e062b773
commit
4a88e6738a
|
@ -185,26 +185,20 @@ endif(OS_LINUX)
|
|||
|
||||
if(OS_MACOSX)
|
||||
|
||||
# Fix the framework link in the helper executable.
|
||||
macro(FIX_MACOSX_HELPER_FRAMEWORK_LINK target app_path)
|
||||
add_custom_command(TARGET ${target}
|
||||
POST_BUILD
|
||||
COMMAND install_name_tool -change "@executable_path/Chromium Embedded Framework"
|
||||
"@executable_path/../../../../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework"
|
||||
"${app_path}/Contents/MacOS/${target}"
|
||||
VERBATIM
|
||||
)
|
||||
# Fix the framework rpath in the helper executable.
|
||||
macro(FIX_MACOSX_HELPER_FRAMEWORK_RPATH target)
|
||||
# The helper is in $app_name.app/Contents/Frameworks/$app_name Helper.app/Contents/MacOS/
|
||||
# so set rpath up to Contents/ so that the loader can find Frameworks/.
|
||||
set_target_properties(${target} PROPERTIES INSTALL_RPATH "@executable_path/../../../..")
|
||||
set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
endmacro()
|
||||
|
||||
# Fix the framework link in the main executable.
|
||||
macro(FIX_MACOSX_MAIN_FRAMEWORK_LINK target app_path)
|
||||
add_custom_command(TARGET ${target}
|
||||
POST_BUILD
|
||||
COMMAND install_name_tool -change "@executable_path/Chromium Embedded Framework"
|
||||
"@executable_path/../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework"
|
||||
"${app_path}/Contents/MacOS/${target}"
|
||||
VERBATIM
|
||||
)
|
||||
# Fix the framework rpath in the main executable.
|
||||
macro(FIX_MACOSX_MAIN_FRAMEWORK_RPATH target)
|
||||
# The main app is at $app_name.app/Contents/MacOS/$app_name
|
||||
# so set rpath up to Contents/ so that the loader can find Frameworks/.
|
||||
set_target_properties(${target} PROPERTIES INSTALL_RPATH "@executable_path/..")
|
||||
set_target_properties(${target} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
endmacro()
|
||||
|
||||
# Manually process and copy over resource files.
|
||||
|
|
|
@ -178,8 +178,8 @@ if(OS_MACOSX)
|
|||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/resources/mac/helper-Info.plist
|
||||
)
|
||||
|
||||
# Fix the framework link in the helper executable.
|
||||
FIX_MACOSX_HELPER_FRAMEWORK_LINK(${CEF_HELPER_TARGET} ${CEF_HELPER_APP})
|
||||
# Fix the framework rpath in the helper executable.
|
||||
FIX_MACOSX_HELPER_FRAMEWORK_RPATH(${CEF_HELPER_TARGET})
|
||||
|
||||
# Main executable target.
|
||||
add_executable(${CEF_TARGET} MACOSX_BUNDLE ${CEFCLIENT_RESOURCES_SRCS} ${CEFCLIENT_SRCS})
|
||||
|
@ -206,8 +206,8 @@ if(OS_MACOSX)
|
|||
VERBATIM
|
||||
)
|
||||
|
||||
# Fix the framework link in the main executable.
|
||||
FIX_MACOSX_MAIN_FRAMEWORK_LINK(${CEF_TARGET} ${CEF_APP})
|
||||
# Fix the framework rpath in the main executable.
|
||||
FIX_MACOSX_MAIN_FRAMEWORK_RPATH(${CEF_TARGET})
|
||||
|
||||
if(NOT ${CMAKE_GENERATOR} STREQUAL "Xcode")
|
||||
# Manually process and copy over resource files.
|
||||
|
|
|
@ -99,8 +99,8 @@ if(OS_MACOSX)
|
|||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/mac/helper-Info.plist
|
||||
)
|
||||
|
||||
# Fix the framework link in the helper executable.
|
||||
FIX_MACOSX_HELPER_FRAMEWORK_LINK(${CEF_HELPER_TARGET} ${CEF_HELPER_APP})
|
||||
# Fix the framework rpath in the helper executable.
|
||||
FIX_MACOSX_HELPER_FRAMEWORK_RPATH(${CEF_HELPER_TARGET})
|
||||
|
||||
# Main executable target.
|
||||
add_executable(${CEF_TARGET} MACOSX_BUNDLE ${CEFSIMPLE_RESOURCES_SRCS} ${CEFSIMPLE_SRCS})
|
||||
|
@ -127,8 +127,8 @@ if(OS_MACOSX)
|
|||
VERBATIM
|
||||
)
|
||||
|
||||
# Fix the framework link in the main executable.
|
||||
FIX_MACOSX_MAIN_FRAMEWORK_LINK(${CEF_TARGET} ${CEF_APP})
|
||||
# Fix the framework rpath in the main executable.
|
||||
FIX_MACOSX_MAIN_FRAMEWORK_RPATH(${CEF_TARGET})
|
||||
|
||||
if(NOT ${CMAKE_GENERATOR} STREQUAL "Xcode")
|
||||
# Manually process and copy over resource files.
|
||||
|
|
Loading…
Reference in New Issue