Skip to content

Commit 7d123d6

Browse files
committed
cmake: set RPATH for redistributable build
1 parent 55d76f7 commit 7d123d6

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

CMakeLists.txt

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -104,27 +104,31 @@ endif()
104104

105105
# Installation
106106

107+
set(VISP_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "Location of header files")
108+
set(VISP_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Location of library files")
109+
set(VISP_BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR} CACHE PATH "Location of binary files")
110+
107111
install(TARGETS visioncpp
108-
RUNTIME DESTINATION bin
109-
LIBRARY DESTINATION lib
110-
ARCHIVE DESTINATION lib)
111-
install(DIRECTORY include/ DESTINATION include)
112+
RUNTIME DESTINATION ${VISP_BIN_INSTALL_DIR}
113+
LIBRARY DESTINATION ${VISP_LIB_INSTALL_DIR}
114+
ARCHIVE DESTINATION ${VISP_LIB_INSTALL_DIR})
115+
install(DIRECTORY include/ DESTINATION ${VISP_INCLUDE_INSTALL_DIR})
112116
if(PROJECT_IS_TOP_LEVEL)
113117
install(FILES README.md LICENSE DESTINATION .)
114118
endif()
115119

116-
install(TARGETS vision-cli RUNTIME DESTINATION bin)
120+
install(TARGETS vision-cli RUNTIME DESTINATION ${VISP_BIN_INSTALL_DIR})
117121

118-
include(CMakePackageConfigHelpers)
122+
if(VISP_CI OR VISP_DEV)
123+
set_target_properties(vision-cli PROPERTIES INSTALL_RPATH "\$ORIGIN/../${VISP_LIB_INSTALL_DIR}")
124+
endif()
119125

120-
set(VISP_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "Location of header files")
121-
set(VISP_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Location of library files")
122-
set(VISP_BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR} CACHE PATH "Location of binary files")
126+
include(CMakePackageConfigHelpers)
123127

124128
configure_package_config_file(
125129
scripts/cmake/visioncpp-config.cmake.in
126130
${CMAKE_CURRENT_BINARY_DIR}/visioncpp-config.cmake
127-
INSTALL_DESTINATION lib/cmake/visioncpp
131+
INSTALL_DESTINATION ${VISP_LIB_INSTALL_DIR}/cmake/visioncpp
128132
PATH_VARS VISP_INCLUDE_INSTALL_DIR VISP_LIB_INSTALL_DIR VISP_BIN_INSTALL_DIR
129133
)
130134
write_basic_package_version_file(
@@ -135,7 +139,7 @@ write_basic_package_version_file(
135139
install(
136140
FILES ${CMAKE_CURRENT_BINARY_DIR}/visioncpp-config.cmake
137141
${CMAKE_CURRENT_BINARY_DIR}/visioncpp-version.cmake
138-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/visioncpp
142+
DESTINATION ${VISP_LIB_INSTALL_DIR}/cmake/visioncpp
139143
)
140144

141145
# Packaging

0 commit comments

Comments
 (0)