aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2021-03-23 17:09:30 +0100
committerThomas White <taw@physics.org>2021-03-23 17:09:30 +0100
commitbafff30232031445256a7e1f3204320b606f94cc (patch)
tree600c382653c251299d3c84a6472bdd383d233877 /libcrystfel
parentd3a482afa8390985a816a9a6744429d71d678382 (diff)
CMake: ensure RPATH is always set for libcrystfel
This helps with finding dependencies installed in non-system locations.
Diffstat (limited to 'libcrystfel')
-rw-r--r--libcrystfel/CMakeLists.txt10
1 files changed, 9 insertions, 1 deletions
diff --git a/libcrystfel/CMakeLists.txt b/libcrystfel/CMakeLists.txt
index fe2a6f30..fa963c22 100644
--- a/libcrystfel/CMakeLists.txt
+++ b/libcrystfel/CMakeLists.txt
@@ -123,7 +123,15 @@ add_library(${PROJECT_NAME} SHARED
${LIBCRYSTFEL_FFTW_SOURCES}
${LIBCRYSTFEL_HEADERS})
-set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH_USE_LINK_PATH 1)
+set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
+set_target_properties(${PROJECT_NAME} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
+#set_target_properties(${PROJECT_NAME} PROPERTIES SKIP_BUILD_RPATH FALSE)
+
+list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_LIBDIR}" isSystemDir)
+if("${isSystemDir}" STREQUAL "-1")
+ set_target_properties(${PROJECT_NAME}
+ PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR};${CMAKE_INSTALL_RPATH}")
+endif("${isSystemDir}" STREQUAL "-1")
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${CRYSTFEL_API_VERSION})
set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${CRYSTFEL_SHORT_VERSION})