diff options
author | Li Xinwei <1326710505@qq.com> | 2021-05-12 20:03:57 +0800 |
---|---|---|
committer | Li Xinwei <1326710505@qq.com> | 2021-05-13 05:04:57 +0800 |
commit | 320c282488f4ae4cae735b0be027170803d06cd7 (patch) | |
tree | d29433c1bdf4a62d6e2a708f6a52ff908dbd2202 | |
parent | 6e04664a9588d79305b0b521a17dd5da481cc0f6 (diff) |
CMake: add an option to enable or disable versioned hard link
The option is called QT_CREATE_VERSIONED_HARD_LINK. By default, it
is set to ON. Users can set this option to OFF to disable versioned
hard link.
Pick-to: 6.1
Fixes: QTBUG-93636
Change-Id: I0ffa1ee1c6bae1950df332fcce3152a861b33db0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | cmake/QtBuildInternalsExtra.cmake.in | 4 | ||||
-rw-r--r-- | cmake/QtInstallHelpers.cmake | 4 |
3 files changed, 11 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 76c08084d3..45110a429b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,6 +81,9 @@ if(NOT QT_BUILD_STANDALONE_TESTS) ## Should this Qt be built with Werror? option(WARNINGS_ARE_ERRORS "Build Qt with warnings as errors" ${FEATURE_developer_build}) + ## Should this Qt create versioned hard link for some tools? + option(QT_CREATE_VERSIONED_HARD_LINK "Enable the use of versioned hard link" ON) + ## QtBase specific configure tests: include(QtBaseConfigureTests) diff --git a/cmake/QtBuildInternalsExtra.cmake.in b/cmake/QtBuildInternalsExtra.cmake.in index d623835144..b089f00fd6 100644 --- a/cmake/QtBuildInternalsExtra.cmake.in +++ b/cmake/QtBuildInternalsExtra.cmake.in @@ -65,5 +65,9 @@ set(QT_BUILD_EXAMPLES_BY_DEFAULT @QT_BUILD_EXAMPLES_BY_DEFAULT@ CACHE BOOL # Propagate usage of ccache. set(QT_USE_CCACHE @QT_USE_CCACHE@ CACHE BOOL "Enable the use of ccache") +# Propagate usage of versioned hard link. +set(QT_CREATE_VERSIONED_HARD_LINK "@QT_CREATE_VERSIONED_HARD_LINK@" CACHE BOOL + "Enable the use of versioned hard link") + # Extra set of exported variables @QT_EXTRA_BUILD_INTERNALS_VARS@ diff --git a/cmake/QtInstallHelpers.cmake b/cmake/QtInstallHelpers.cmake index 30962b84e2..9dbb22251d 100644 --- a/cmake/QtInstallHelpers.cmake +++ b/cmake/QtInstallHelpers.cmake @@ -136,6 +136,10 @@ function(qt_internal_install_versioned_link install_dir target) return() endif() + if(NOT QT_CREATE_VERSIONED_HARD_LINK) + return() + endif() + qt_path_join(install_base_file_path "$\{qt_full_install_prefix}" "${install_dir}" "$<TARGET_FILE_BASE_NAME:${target}>") set(original "${install_base_file_path}$<TARGET_FILE_SUFFIX:${target}>") |