diff --git a/CMakeLists.txt b/CMakeLists.txt index c20ff75a6..9b664c8a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,6 +27,10 @@ project(MaxScale) # Set the installation layout include(${CMAKE_SOURCE_DIR}/cmake/install_layout.cmake) +# Configure RPATH +# (it has to be before any executable generation) +include(cmake/rpath.cmake) + # Do the platform check include(cmake/CheckPlatform.cmake) @@ -92,8 +96,6 @@ else() set(MAXSCALE_COMMIT "source-build") endif() -set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/${MAXSCALE_LIBDIR}) - # Make sure the release notes for this release are present if it is a stable one if(${MAXSCALE_VERSION} MATCHES "-stable") file(GLOB ${CMAKE_SOURCE_DIR}/Documentation/Release-Notes RELEASE_NOTES *${MAXSCALE_VERSION_NUMERIC}*.md) diff --git a/cmake/package_tgz.cmake b/cmake/package_tgz.cmake index cd30b7ce2..3098c3c5b 100644 --- a/cmake/package_tgz.cmake +++ b/cmake/package_tgz.cmake @@ -1,6 +1,5 @@ # Tarball package configuration message(STATUS "Generating tar.gz packages") -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE) set(MAXSCALE_BINDIR /bin CACHE PATH "" FORCE) set(MAXSCALE_LIBDIR /lib/maxscale CACHE PATH "" FORCE) set(MAXSCALE_SHAREDIR /share CACHE PATH "" FORCE) @@ -8,7 +7,6 @@ set(MAXSCALE_DOCDIR /share CACHE PATH "" FORCE) set(MAXSCALE_VARDIR /var CACHE PATH "" FORCE) set(MAXSCALE_CONFDIR /etc CACHE PATH "" FORCE) set(CMAKE_INSTALL_PREFIX "/" CACHE PATH "" FORCE) -set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib/maxscale/" CACHE PATH "" FORCE) set(CMAKE_INSTALL_DATADIR /share CACHE PATH "" FORCE) set(DEFAULT_LIB_SUBPATH /lib/maxscale CACHE PATH "" FORCE) set(DEFAULT_LIBDIR "/usr/local/maxscale/lib/maxscale" CACHE PATH "" FORCE) diff --git a/cmake/rpath.cmake b/cmake/rpath.cmake new file mode 100644 index 000000000..2d90a41a2 --- /dev/null +++ b/cmake/rpath.cmake @@ -0,0 +1,8 @@ +if(PACKAGE AND TARBALL) + set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}/maxscale" CACHE PATH "" FORCE) +else() + set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${CMAKE_INSTALL_PREFIX}/${MAXSCALE_LIBDIR}) +endif() + +