diff --git a/cmake/QtPriHelpers.cmake b/cmake/QtPriHelpers.cmake index 75eb209c987..4b34c44fca5 100644 --- a/cmake/QtPriHelpers.cmake +++ b/cmake/QtPriHelpers.cmake @@ -532,7 +532,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 arg_HEADER_MODULE) + 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()