From dbb5ab932c678f7468f345f3b49f5213ce6b9f96 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 5 Jul 2021 12:45:24 +0200 Subject: [PATCH] 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 Reviewed-by: Cristian Adam --- cmake/QtCreatorAPI.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index ed3602e6d6d..fafa5180e74 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -241,6 +241,7 @@ function(add_qtc_library name) qtc_output_binary_dir(_output_binary_dir) string(REGEX MATCH "^[0-9]*" IDE_VERSION_MAJOR ${IDE_VERSION}) set_target_properties(${name} PROPERTIES + LINK_DEPENDS_NO_SHARED ON SOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}" VERSION "${IDE_VERSION}" SOVERSION "${IDE_VERSION_MAJOR}" @@ -497,6 +498,7 @@ function(add_qtc_plugin target_name) qtc_output_binary_dir(_output_binary_dir) set_target_properties(${target_name} PROPERTIES + LINK_DEPENDS_NO_SHARED ON SOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}" MACHO_CURRENT_VERSION ${IDE_VERSION} MACHO_COMPATIBILITY_VERSION ${IDE_VERSION_COMPAT} @@ -694,6 +696,7 @@ function(add_qtc_executable name) qtc_output_binary_dir(_output_binary_dir) set_target_properties("${name}" PROPERTIES + LINK_DEPENDS_NO_SHARED ON BUILD_RPATH "${build_rpath}" INSTALL_RPATH "${install_rpath}" RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${_DESTINATION}" @@ -844,6 +847,7 @@ function(add_qtc_test name) ) set_target_properties(${name} PROPERTIES + LINK_DEPENDS_NO_SHARED ON CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN ON BUILD_RPATH "${_RPATH_BASE}/${_RPATH}"