27 lines
965 B
CMake
27 lines
965 B
CMake
# ============================================
|
||
# 运行时动态库搜索路径配置模块
|
||
# ============================================
|
||
# 功能:解决运行时找不到动态库的问题
|
||
|
||
# 设置RPATH(macOS和Linux)
|
||
# RPATH是嵌入到可执行文件中的运行时库搜索路径
|
||
if(APPLE)
|
||
# macOS使用@executable_path相对路径
|
||
set(CMAKE_INSTALL_RPATH "@executable_path;@executable_path/lib;@executable_path/../lib")
|
||
set(CMAKE_BUILD_RPATH "${CMAKE_SOURCE_DIR}/lib;${CMAKE_SOURCE_DIR}/prebuilt/lib")
|
||
elseif(UNIX)
|
||
# Linux使用$ORIGIN相对路径
|
||
set(CMAKE_INSTALL_RPATH "$ORIGIN:$ORIGIN/lib:$ORIGIN/../lib")
|
||
set(CMAKE_BUILD_RPATH "${CMAKE_SOURCE_DIR}/lib:${CMAKE_SOURCE_DIR}/prebuilt/lib")
|
||
endif()
|
||
|
||
# 构建时使用RPATH,不需要设置LD_LIBRARY_PATH就能运行
|
||
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
|
||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||
|
||
# macOS额外配置
|
||
if(APPLE)
|
||
set(CMAKE_MACOSX_RPATH TRUE)
|
||
endif()
|
||
|