forked from qt-creator/qt-creator
CMake build: Don't re-link libraries unnecessarily
If a library changes its implementation only, don't relink all libraries that depend on it. This is usually not necessary since the API stayed the same. Fixes: QTCREATORBUG-25962 Change-Id: I0221b09afd92463c3dad40bd0107ba0d5668ac79 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
@@ -241,6 +241,7 @@ function(add_qtc_library name)
|
|||||||
qtc_output_binary_dir(_output_binary_dir)
|
qtc_output_binary_dir(_output_binary_dir)
|
||||||
string(REGEX MATCH "^[0-9]*" IDE_VERSION_MAJOR ${IDE_VERSION})
|
string(REGEX MATCH "^[0-9]*" IDE_VERSION_MAJOR ${IDE_VERSION})
|
||||||
set_target_properties(${name} PROPERTIES
|
set_target_properties(${name} PROPERTIES
|
||||||
|
LINK_DEPENDS_NO_SHARED ON
|
||||||
SOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
|
SOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||||
VERSION "${IDE_VERSION}"
|
VERSION "${IDE_VERSION}"
|
||||||
SOVERSION "${IDE_VERSION_MAJOR}"
|
SOVERSION "${IDE_VERSION_MAJOR}"
|
||||||
@@ -497,6 +498,7 @@ function(add_qtc_plugin target_name)
|
|||||||
|
|
||||||
qtc_output_binary_dir(_output_binary_dir)
|
qtc_output_binary_dir(_output_binary_dir)
|
||||||
set_target_properties(${target_name} PROPERTIES
|
set_target_properties(${target_name} PROPERTIES
|
||||||
|
LINK_DEPENDS_NO_SHARED ON
|
||||||
SOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
|
SOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||||
MACHO_CURRENT_VERSION ${IDE_VERSION}
|
MACHO_CURRENT_VERSION ${IDE_VERSION}
|
||||||
MACHO_COMPATIBILITY_VERSION ${IDE_VERSION_COMPAT}
|
MACHO_COMPATIBILITY_VERSION ${IDE_VERSION_COMPAT}
|
||||||
@@ -694,6 +696,7 @@ function(add_qtc_executable name)
|
|||||||
|
|
||||||
qtc_output_binary_dir(_output_binary_dir)
|
qtc_output_binary_dir(_output_binary_dir)
|
||||||
set_target_properties("${name}" PROPERTIES
|
set_target_properties("${name}" PROPERTIES
|
||||||
|
LINK_DEPENDS_NO_SHARED ON
|
||||||
BUILD_RPATH "${build_rpath}"
|
BUILD_RPATH "${build_rpath}"
|
||||||
INSTALL_RPATH "${install_rpath}"
|
INSTALL_RPATH "${install_rpath}"
|
||||||
RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${_DESTINATION}"
|
RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${_DESTINATION}"
|
||||||
@@ -844,6 +847,7 @@ function(add_qtc_test name)
|
|||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(${name} PROPERTIES
|
set_target_properties(${name} PROPERTIES
|
||||||
|
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}"
|
||||||
|
Reference in New Issue
Block a user