저는 항상 빌드 트리에서 실행 파일을 실행합니다 (나는 cmake "install"에서 실행하지 않습니다). 라이브러리,의는 fruit
을 부르 자, 프레임 워크로 구축 :빌드 트리에 rpath 항목 추가 생성 된 실행 파일
add_library(fruit SHARED ${FRUIT_SOURCES})
set_target_properties(fruit PROPERTIES FRAMEWORK TRUE)
set_target_properties(fruit PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE
INSTALL_NAME_DIR "@rpath/Frameworks" )
는 지금은 cmake로 (executable
라고 함)의 주요 응용 프로그램에 대한 사용자 정의 RPATH를 설정합니다. 내가 생성 프로그램 내 rpaths을 정의 할 수 executable
의 INSTALL_RPATH
대상 속성을 사용할 수 있다고 생각하지만, 이것은 단지 설치된 실행 파일 (난 항상 cmake 빌드 폴더에 내 응용 프로그램을 실행 기억)에 대한 작동하는 것 같다 :
# this rpath is not shown in the generated executable (otool -l -v executable):
set_target_properties(executable PROPERTIES INSTALL_RPATH "@executable_path/lib/")
빌드 트리에서 생성 된 프로그램에 rpath 항목을 정의/추가하는 방법은 무엇입니까?
추신.이 라이브러리 fruit
은 실제 문제의 예일뿐입니다. 라이브러리는 라이브러리에 BUILD_WITH_INSTALL_RPATH
속성을 추가하는 subcmake 프로젝트 (git 하위 모듈)에서 생성됩니다. 하지만이 프로젝트의 코드를 변경할 가능성이 있습니다. 빌드 트리에서 실행 파일을 처리 할 수있는 더 좋은 방법이 있습니까?