forked from qt-creator/qt-creator
CMake build: Allow adding RPATHs via CMAKE_(BUILD|INSTALL)_RPATH
Prepend our own relative RPATHs to CMAKE_INSTALL_RPATH (or CMAKE_BUILD_RPATH respectively) instead of overriding them completely. That allows adding an RPATH to e.g. a self-compiled and separately installed Qt to the installed Qt Creator. Fixes: QTCREATORBUG-27008 Change-Id: I8cd9167fdf5ba9838850fcfab8135da9b79e6695 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
@@ -228,8 +228,8 @@ function(add_qtc_library name)
|
||||
CXX_EXTENSIONS OFF
|
||||
CXX_VISIBILITY_PRESET hidden
|
||||
VISIBILITY_INLINES_HIDDEN ON
|
||||
BUILD_RPATH "${_LIB_RPATH}"
|
||||
INSTALL_RPATH "${_LIB_RPATH}"
|
||||
BUILD_RPATH "${_LIB_RPATH};${CMAKE_BUILD_RPATH}"
|
||||
INSTALL_RPATH "${_LIB_RPATH};${CMAKE_INSTALL_RPATH}"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${_DESTINATION}"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}"
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_ARCHIVE_PATH}"
|
||||
@@ -478,8 +478,8 @@ function(add_qtc_plugin target_name)
|
||||
VISIBILITY_INLINES_HIDDEN ON
|
||||
_arg_DEPENDS "${_arg_PLUGIN_DEPENDS}"
|
||||
_arg_VERSION "${_arg_VERSION}"
|
||||
BUILD_RPATH "${_PLUGIN_RPATH}"
|
||||
INSTALL_RPATH "${_PLUGIN_RPATH}"
|
||||
BUILD_RPATH "${_PLUGIN_RPATH};${CMAKE_BUILD_RPATH}"
|
||||
INSTALL_RPATH "${_PLUGIN_RPATH};${CMAKE_INSTALL_RPATH}"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${plugin_dir}"
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${plugin_dir}"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${plugin_dir}"
|
||||
@@ -654,6 +654,8 @@ function(add_qtc_executable name)
|
||||
file(RELATIVE_PATH relative_plugins_path "/${_EXECUTABLE_PATH}" "/${IDE_PLUGIN_PATH}")
|
||||
set(install_rpath "${install_rpath};${_RPATH_BASE}/${relative_qt_path};${_RPATH_BASE}/${relative_plugins_path}")
|
||||
endif()
|
||||
set(build_rpath "${build_rpath};${CMAKE_BUILD_RPATH}")
|
||||
set(install_rpath "${install_rpath};${CMAKE_INSTALL_RPATH}")
|
||||
|
||||
qtc_output_binary_dir(_output_binary_dir)
|
||||
set_target_properties("${name}" PROPERTIES
|
||||
@@ -811,8 +813,8 @@ function(add_qtc_test name)
|
||||
LINK_DEPENDS_NO_SHARED ON
|
||||
CXX_VISIBILITY_PRESET hidden
|
||||
VISIBILITY_INLINES_HIDDEN ON
|
||||
BUILD_RPATH "${_RPATH_BASE}/${_RPATH}"
|
||||
INSTALL_RPATH "${_RPATH_BASE}/${_RPATH}"
|
||||
BUILD_RPATH "${_RPATH_BASE}/${_RPATH};${CMAKE_BUILD_RPATH}"
|
||||
INSTALL_RPATH "${_RPATH_BASE}/${_RPATH};${CMAKE_INSTALL_RPATH}"
|
||||
)
|
||||
if (NOT _arg_SKIP_PCH)
|
||||
enable_pch(${name})
|
||||
|
@@ -42,8 +42,8 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/qlitehtml/src/CMakeLists.txt)
|
||||
#qtc_enable_separate_debug_info(qlitehtml "${IDE_LIBRARY_PATH}")
|
||||
qtc_output_binary_dir(_output_binary_dir)
|
||||
set_target_properties(qlitehtml PROPERTIES
|
||||
BUILD_RPATH "${_LIB_RPATH}"
|
||||
INSTALL_RPATH "${_LIB_RPATH}"
|
||||
BUILD_RPATH "${_LIB_RPATH};${CMAKE_BUILD_RPATH}"
|
||||
INSTALL_RPATH "${_LIB_RPATH};${CMAKE_INSTALL_RPATH}"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_BIN_PATH}"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}"
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_ARCHIVE_PATH}"
|
||||
|
Reference in New Issue
Block a user