CMake: Fix CMP0174 warnings
CMake 3.31 introduced the policy CMP0174 that triggers a warning if a single-value argument is passed to a function without a value. We did this doing this when forwarding arguments in code that doesn't use _qt_internal_forward_function_args yet, e.g. in qt_internal_add_app: qt_internal_add_executable(... TARGET_PRODUCT ${arg_TARGET_PRODUCT} ...) Forward the warning-triggering arguments with _qt_internal_forward_function_args now, because that only forwards used arguments. In the future, we can offload more forwarding work to the _qt_internal_forward_function_args command and simplify the forwarding code in qt_internal_add_app and qt_internal_add_tool. This patch only fixes the worst offenders for now. Pick-to: 6.8 Change-Id: Ie786691e4b236decf4c62f4dd0751ed76b721177 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This commit is contained in:
parent
709eb77ff0
commit
18a217af4a
@ -427,14 +427,21 @@ function(qt_internal_add_3rdparty_header_module target)
|
||||
)
|
||||
_qt_internal_validate_all_args_are_parsed(arg)
|
||||
|
||||
_qt_internal_forward_function_args(
|
||||
FORWARD_PREFIX arg
|
||||
FORWARD_OUT_VAR add_module_args
|
||||
FORWARD_SINGLE
|
||||
EXTERNAL_HEADERS
|
||||
EXTERNAL_HEADERS_DIR
|
||||
)
|
||||
|
||||
qt_internal_add_module(${target}
|
||||
IS_QT_3RD_PARTY_HEADER_MODULE
|
||||
INTERNAL_MODULE
|
||||
HEADER_MODULE
|
||||
NO_CONFIG_HEADER_FILE
|
||||
NO_GENERATE_CPP_EXPORTS
|
||||
EXTERNAL_HEADERS ${arg_EXTERNAL_HEADERS}
|
||||
EXTERNAL_HEADERS_DIR ${arg_EXTERNAL_HEADERS_DIR}
|
||||
${add_module_args}
|
||||
)
|
||||
|
||||
set_target_properties(${target} PROPERTIES
|
||||
|
@ -59,6 +59,17 @@ function(qt_internal_add_app target)
|
||||
set(arg_NO_UNITY_BUILD "")
|
||||
endif()
|
||||
|
||||
_qt_internal_forward_function_args(
|
||||
FORWARD_PREFIX arg
|
||||
FORWARD_OUT_VAR add_executable_args
|
||||
FORWARD_SINGLE
|
||||
TARGET_COMPANY
|
||||
TARGET_COPYRIGHT
|
||||
TARGET_DESCRIPTION
|
||||
TARGET_PRODUCT
|
||||
TARGET_VERSION
|
||||
)
|
||||
|
||||
qt_internal_add_executable("${target}"
|
||||
QT_APP
|
||||
DELAY_RC
|
||||
@ -85,11 +96,7 @@ function(qt_internal_add_app target)
|
||||
MOC_OPTIONS ${arg_MOC_OPTIONS}
|
||||
ENABLE_AUTOGEN_TOOLS ${arg_ENABLE_AUTOGEN_TOOLS}
|
||||
DISABLE_AUTOGEN_TOOLS ${arg_DISABLE_AUTOGEN_TOOLS}
|
||||
TARGET_VERSION ${arg_TARGET_VERSION}
|
||||
TARGET_PRODUCT ${arg_TARGET_PRODUCT}
|
||||
TARGET_DESCRIPTION ${arg_TARGET_DESCRIPTION}
|
||||
TARGET_COMPANY ${arg_TARGET_COMPANY}
|
||||
TARGET_COPYRIGHT ${arg_TARGET_COPYRIGHT}
|
||||
${add_executable_args}
|
||||
# If you are putting anything after these, make sure that
|
||||
# qt_set_target_info_properties knows how to process them
|
||||
)
|
||||
|
@ -607,6 +607,13 @@ function(qt_internal_add_module target)
|
||||
set(arg_EXTERNAL_HEADERS "")
|
||||
endif()
|
||||
|
||||
_qt_internal_forward_function_args(
|
||||
FORWARD_PREFIX arg
|
||||
FORWARD_OUT_VAR extend_target_args
|
||||
FORWARD_SINGLE
|
||||
PRECOMPILED_HEADER
|
||||
)
|
||||
|
||||
qt_internal_extend_target("${target}"
|
||||
${arg_NO_UNITY_BUILD}
|
||||
SOURCES
|
||||
@ -640,8 +647,8 @@ function(qt_internal_add_module target)
|
||||
MOC_OPTIONS ${arg_MOC_OPTIONS}
|
||||
ENABLE_AUTOGEN_TOOLS ${arg_ENABLE_AUTOGEN_TOOLS}
|
||||
DISABLE_AUTOGEN_TOOLS ${arg_DISABLE_AUTOGEN_TOOLS}
|
||||
PRECOMPILED_HEADER ${arg_PRECOMPILED_HEADER}
|
||||
NO_PCH_SOURCES ${arg_NO_PCH_SOURCES}
|
||||
${extend_target_args}
|
||||
)
|
||||
|
||||
# The public module define is not meant to be used when building the module itself,
|
||||
|
@ -77,20 +77,26 @@ function(qt_internal_extend_target target)
|
||||
endif()
|
||||
set(dbus_sources "")
|
||||
foreach(adaptor ${arg_DBUS_ADAPTOR_SOURCES})
|
||||
qt_create_qdbusxml2cpp_command("${target}" "${adaptor}"
|
||||
ADAPTOR
|
||||
BASENAME "${arg_DBUS_ADAPTOR_BASENAME}"
|
||||
FLAGS ${arg_DBUS_ADAPTOR_FLAGS}
|
||||
_qt_internal_forward_function_args(
|
||||
FORWARD_PREFIX arg_DBUS_ADAPTOR
|
||||
FORWARD_OUT_VAR forwarded_args
|
||||
FORWARD_SINGLE
|
||||
BASENAME
|
||||
FLAGS
|
||||
)
|
||||
qt_create_qdbusxml2cpp_command("${target}" "${adaptor}" ADAPTOR ${forwarded_args})
|
||||
list(APPEND dbus_sources "${adaptor}")
|
||||
endforeach()
|
||||
|
||||
foreach(interface ${arg_DBUS_INTERFACE_SOURCES})
|
||||
qt_create_qdbusxml2cpp_command("${target}" "${interface}"
|
||||
INTERFACE
|
||||
BASENAME "${arg_DBUS_INTERFACE_BASENAME}"
|
||||
FLAGS ${arg_DBUS_INTERFACE_FLAGS}
|
||||
_qt_internal_forward_function_args(
|
||||
FORWARD_PREFIX arg_DBUS_INTERFACE
|
||||
FORWARD_OUT_VAR forwarded_args
|
||||
FORWARD_SINGLE
|
||||
BASENAME
|
||||
FLAGS
|
||||
)
|
||||
qt_create_qdbusxml2cpp_command("${target}" "${interface}" INTERFACE ${forwarded_args})
|
||||
list(APPEND dbus_sources "${interface}")
|
||||
endforeach()
|
||||
|
||||
|
@ -117,6 +117,17 @@ function(qt_internal_add_tool target_name)
|
||||
set(arg_NO_UNITY_BUILD "")
|
||||
endif()
|
||||
|
||||
_qt_internal_forward_function_args(
|
||||
FORWARD_PREFIX arg
|
||||
FORWARD_OUT_VAR add_executable_args
|
||||
FORWARD_SINGLE
|
||||
TARGET_COMPANY
|
||||
TARGET_COPYRIGHT
|
||||
TARGET_DESCRIPTION
|
||||
TARGET_PRODUCT
|
||||
TARGET_VERSION
|
||||
)
|
||||
|
||||
qt_internal_add_executable("${target_name}"
|
||||
OUTPUT_DIRECTORY "${output_dir}"
|
||||
${exceptions}
|
||||
@ -139,11 +150,7 @@ function(qt_internal_add_tool target_name)
|
||||
LINK_OPTIONS ${arg_LINK_OPTIONS}
|
||||
MOC_OPTIONS ${arg_MOC_OPTIONS}
|
||||
DISABLE_AUTOGEN_TOOLS ${disable_autogen_tools}
|
||||
TARGET_VERSION ${arg_TARGET_VERSION}
|
||||
TARGET_PRODUCT ${arg_TARGET_PRODUCT}
|
||||
TARGET_DESCRIPTION ${arg_TARGET_DESCRIPTION}
|
||||
TARGET_COMPANY ${arg_TARGET_COMPANY}
|
||||
TARGET_COPYRIGHT ${arg_TARGET_COPYRIGHT}
|
||||
${add_executable_args}
|
||||
# If you are putting anything after these, make sure that
|
||||
# qt_set_target_info_properties knows how to process them
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user