Add _lib_pri targets to all

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.

Amends 190e58e1f4

Pick-to: 6.2 6.4
Fixes: QTBUG-109240
Fixes: QTBUG-109239
Change-Id: I7c565ce3bc15e549569317454c2f7caac823cf66
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Alexey Edelev 2022-12-07 11:23:46 +01:00
parent c50b20a484
commit cfcc4ef8ed

View File

@ -541,7 +541,15 @@ QT.${config_module_name}_private.disabled_features = ${disabled_private_features
"-DIMPLICIT_LINK_DIRECTORIES=${implicit_link_directories}"
-P "${QT_CMAKE_DIR}/QtGenerateLibPri.cmake"
VERBATIM)
add_custom_target(${target}_lib_pri DEPENDS "${private_pri_file_path}")
# 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.
unset(add_pri_target_to_all)
if(CMAKE_VERSION VERSION_LESS 3.20 AND is_interface_lib)
set(add_pri_target_to_all ALL)
endif()
add_custom_target(${target}_lib_pri ${add_pri_target_to_all}
DEPENDS "${private_pri_file_path}")
add_dependencies(${target} ${target}_lib_pri)
endif()