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_EXTENSIONS OFF
|
||||||
CXX_VISIBILITY_PRESET hidden
|
CXX_VISIBILITY_PRESET hidden
|
||||||
VISIBILITY_INLINES_HIDDEN ON
|
VISIBILITY_INLINES_HIDDEN ON
|
||||||
BUILD_RPATH "${_LIB_RPATH}"
|
BUILD_RPATH "${_LIB_RPATH};${CMAKE_BUILD_RPATH}"
|
||||||
INSTALL_RPATH "${_LIB_RPATH}"
|
INSTALL_RPATH "${_LIB_RPATH};${CMAKE_INSTALL_RPATH}"
|
||||||
RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${_DESTINATION}"
|
RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${_DESTINATION}"
|
||||||
LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}"
|
LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}"
|
||||||
ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_ARCHIVE_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
|
VISIBILITY_INLINES_HIDDEN ON
|
||||||
_arg_DEPENDS "${_arg_PLUGIN_DEPENDS}"
|
_arg_DEPENDS "${_arg_PLUGIN_DEPENDS}"
|
||||||
_arg_VERSION "${_arg_VERSION}"
|
_arg_VERSION "${_arg_VERSION}"
|
||||||
BUILD_RPATH "${_PLUGIN_RPATH}"
|
BUILD_RPATH "${_PLUGIN_RPATH};${CMAKE_BUILD_RPATH}"
|
||||||
INSTALL_RPATH "${_PLUGIN_RPATH}"
|
INSTALL_RPATH "${_PLUGIN_RPATH};${CMAKE_INSTALL_RPATH}"
|
||||||
LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${plugin_dir}"
|
LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${plugin_dir}"
|
||||||
ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${plugin_dir}"
|
ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${plugin_dir}"
|
||||||
RUNTIME_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}")
|
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}")
|
set(install_rpath "${install_rpath};${_RPATH_BASE}/${relative_qt_path};${_RPATH_BASE}/${relative_plugins_path}")
|
||||||
endif()
|
endif()
|
||||||
|
set(build_rpath "${build_rpath};${CMAKE_BUILD_RPATH}")
|
||||||
|
set(install_rpath "${install_rpath};${CMAKE_INSTALL_RPATH}")
|
||||||
|
|
||||||
qtc_output_binary_dir(_output_binary_dir)
|
qtc_output_binary_dir(_output_binary_dir)
|
||||||
set_target_properties("${name}" PROPERTIES
|
set_target_properties("${name}" PROPERTIES
|
||||||
@@ -811,8 +813,8 @@ function(add_qtc_test name)
|
|||||||
LINK_DEPENDS_NO_SHARED ON
|
LINK_DEPENDS_NO_SHARED ON
|
||||||
CXX_VISIBILITY_PRESET hidden
|
CXX_VISIBILITY_PRESET hidden
|
||||||
VISIBILITY_INLINES_HIDDEN ON
|
VISIBILITY_INLINES_HIDDEN ON
|
||||||
BUILD_RPATH "${_RPATH_BASE}/${_RPATH}"
|
BUILD_RPATH "${_RPATH_BASE}/${_RPATH};${CMAKE_BUILD_RPATH}"
|
||||||
INSTALL_RPATH "${_RPATH_BASE}/${_RPATH}"
|
INSTALL_RPATH "${_RPATH_BASE}/${_RPATH};${CMAKE_INSTALL_RPATH}"
|
||||||
)
|
)
|
||||||
if (NOT _arg_SKIP_PCH)
|
if (NOT _arg_SKIP_PCH)
|
||||||
enable_pch(${name})
|
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_enable_separate_debug_info(qlitehtml "${IDE_LIBRARY_PATH}")
|
||||||
qtc_output_binary_dir(_output_binary_dir)
|
qtc_output_binary_dir(_output_binary_dir)
|
||||||
set_target_properties(qlitehtml PROPERTIES
|
set_target_properties(qlitehtml PROPERTIES
|
||||||
BUILD_RPATH "${_LIB_RPATH}"
|
BUILD_RPATH "${_LIB_RPATH};${CMAKE_BUILD_RPATH}"
|
||||||
INSTALL_RPATH "${_LIB_RPATH}"
|
INSTALL_RPATH "${_LIB_RPATH};${CMAKE_INSTALL_RPATH}"
|
||||||
RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_BIN_PATH}"
|
RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_BIN_PATH}"
|
||||||
LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}"
|
LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}"
|
||||||
ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_ARCHIVE_PATH}"
|
ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_ARCHIVE_PATH}"
|
||||||
|
Reference in New Issue
Block a user