diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake index ce07945ec3f..ac6fd8a7f10 100644 --- a/cmake/QtModuleHelpers.cmake +++ b/cmake/QtModuleHelpers.cmake @@ -514,10 +514,7 @@ function(qt_internal_add_module target) endif() list(APPEND ${public_headers_list} ${arg_PUBLIC_INCLUDE_DIRECTORIES}) - set(header_module) if(arg_HEADER_MODULE) - set(header_module "HEADER_MODULE") - # Provide a *_timestamp target that can be used to trigger the build of custom_commands. set(timestamp_file "${CMAKE_CURRENT_BINARY_DIR}/timestamp") add_custom_command(OUTPUT "${timestamp_file}" @@ -849,7 +846,7 @@ set(QT_LIBINFIX \"${QT_LIBINFIX}\")") endif() qt_describe_module(${target}) - qt_add_list_file_finalizer(qt_finalize_module ${target} ${arg_INTERNAL_MODULE} ${arg_NO_PRIVATE_MODULE} ${header_module}) + qt_add_list_file_finalizer(qt_finalize_module ${target} ${arg_INTERNAL_MODULE} ${arg_NO_PRIVATE_MODULE}) endfunction() function(qt_finalize_module target) diff --git a/cmake/QtPriHelpers.cmake b/cmake/QtPriHelpers.cmake index 6cfbc0a3296..224eea8afd4 100644 --- a/cmake/QtPriHelpers.cmake +++ b/cmake/QtPriHelpers.cmake @@ -257,7 +257,7 @@ endfunction() # Generates module .pri files for consumption by qmake function(qt_generate_module_pri_file target) - set(flags INTERNAL_MODULE HEADER_MODULE NO_PRIVATE_MODULE) + set(flags INTERNAL_MODULE NO_PRIVATE_MODULE) set(options) set(multiopts) cmake_parse_arguments(arg "${flags}" "${options}" "${multiopts}" ${ARGN}) @@ -266,7 +266,13 @@ function(qt_generate_module_pri_file target) set(pri_files) set(property_prefix) - if(arg_HEADER_MODULE) + + get_target_property(target_type ${target} TYPE) + set(is_interface_lib FALSE) + if(target_type STREQUAL "INTERFACE_LIBRARY") + set(is_interface_lib TRUE) + endif() + if(is_interface_lib) set(property_prefix "INTERFACE_") endif() @@ -323,7 +329,7 @@ function(qt_generate_module_pri_file target) get_target_property(config_module_name ${target} _qt_config_module_name) get_target_property(qmake_module_config ${target} ${property_prefix}QT_QMAKE_MODULE_CONFIG) - if (arg_HEADER_MODULE) + if (is_interface_lib) list(APPEND qmake_module_config "no_link") endif() if(qmake_module_config) @@ -347,7 +353,7 @@ ${framework_base_path}/${fw_private_module_header_dir}") $$QT_MODULE_INCLUDE_BASE/${module_versioned_inner_include_dir}") endif() - if(arg_HEADER_MODULE) + if(is_interface_lib) set(module_name_in_pri "") else() get_target_property(module_name_in_pri ${target} OUTPUT_NAME) @@ -371,7 +377,7 @@ $$QT_MODULE_INCLUDE_BASE/${module_versioned_inner_include_dir}") qt_path_join(target_path ${QT_BUILD_DIR} ${INSTALL_MKSPECSDIR}/modules) unset(private_module_frameworks) - if(arg_HEADER_MODULE) + if(is_interface_lib) set(module_plugin_types "") else() get_target_property(module_plugin_types ${target} QMAKE_MODULE_PLUGIN_TYPES) @@ -455,7 +461,7 @@ ${module_pri_extra_content} set(private_pri_file_name "qt_lib_${config_module_name}_private.pri") set(private_module_dependencies "") - if(NOT arg_HEADER_MODULE) + if(NOT is_interface_lib) qt_get_direct_module_dependencies(${target}Private private_module_dependencies) endif() list(JOIN private_module_dependencies " " private_module_dependencies) @@ -536,7 +542,7 @@ QT.${config_module_name}_private.disabled_features = ${disabled_private_features -P "${QT_CMAKE_DIR}/QtGenerateLibPri.cmake" VERBATIM) add_custom_target(${target}_lib_pri DEPENDS "${private_pri_file_path}") - if(arg_HEADER_MODULE) + if(is_interface_lib) add_dependencies(${target}_pri_dep_timestamp ${target}_lib_pri) else() add_dependencies(${target} ${target}_lib_pri)