This issue is MacOS X specific. I would like to link a library lib_xxx
that sits outside my build tree at some arbitrary location. It will be at the same location in all systems. By default CMake would add the dependency as follows
@executable_path/libwupienginemac.dylib
I would like to know how to change @executable_path
to either:
Absolute path to the library. I see, for example the following in
otool
output/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
@rpath
I could then manage the location oflib_xxx
usingRPATH
. I prefer this option.
From the documentation and forums it looks like CMAKE_MACOSX_RPATH
should solve the issue and implement option (2). Yet the CMakeLists.txt
below still results in @executable_path/libwupienginemac.dylib
dependency.
cmake_minimum_required(VERSION 3.1)
project(xxx_test)
set(CMAKE_MACOSX_RPATH 1)
find_library(LIB_XXX lib_xxx
PATHS "/path/to/lib_xxx/lib"
)
if (NOT LIB_XXX)
message(FATAL_ERROR ""LIB XXX not found")
endif()
add_executable(xxx_test xxx_test.cpp)
target_link_libraries(xxx_test
${LIB_XXX}
)
# Try running the executable at once
add_custom_target(wibut_test_run ALL
COMMAND xxx_test
DEPENDS xxx_test
)