Remove CMake version check when adding _lib_pri to ALL

It looks like adding dependencies to interface libraries is either not
fixed or broken in CMake versions newer than 3.20. Remove the CMake
version check to ensure that 'lib_pri' targets are executed. This will
restore the initial behavior.

Amends cfcc4ef8ed

Pick-to: 6.2 6.4
Fixes: QTBUG-109240
Fixes: QTBUG-109239
Change-Id: I8c5b317fcdd0a715a1a668b4e955df1acfe4be8b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Alexey Edelev 2022-12-08 20:13:58 +01:00
parent 0c173cc8bc
commit 85b941f425

View File

@ -541,11 +541,10 @@ QT.${config_module_name}_private.disabled_features = ${disabled_private_features
"-DIMPLICIT_LINK_DIRECTORIES=${implicit_link_directories}"
-P "${QT_CMAKE_DIR}/QtGenerateLibPri.cmake"
VERBATIM)
# In CMake versions older than 3.20 add_dependencies have no effect when adding interface
# libraries. So need to add the '_lib_pri' targets to ALL to make sure that the related
# rules executed.
# add_dependencies has no effect when adding interface libraries. So need to add the
# '_lib_pri' targets to ALL to make sure that the related rules executed.
unset(add_pri_target_to_all)
if(CMAKE_VERSION VERSION_LESS 3.20 AND is_interface_lib)
if(is_interface_lib)
set(add_pri_target_to_all ALL)
endif()
add_custom_target(${target}_lib_pri ${add_pri_target_to_all}