summaryrefslogtreecommitdiffstats
path: root/cmake/QtDbusHelpers.cmake
diff options
context:
space:
mode:
authorAmir Masoud Abdol <amirmasoudabdol@icloud.com>2023-01-11 15:36:18 +0100
committerAmir Masoud Abdol <amirmasoudabdol@icloud.com>2023-01-18 14:47:12 +0100
commit7e82577680fb20413cdcfd93a982c52e9d9d095e (patch)
tree749fec2391204d25cb93f659f525f71e473f0f55 /cmake/QtDbusHelpers.cmake
parent5686824229c331abb690089e94448087f1288556 (diff)
Retire the qt_parse_all_arguments
This replaces the qt_parse_all_arguments macro with the built-in `cmake_parse_arguments(PARSE_ARGV`. In addition, a new function, _qt_internal_validate_all_args_are_parsed, can be used to check whether any _UNPARSED_ARGUMENTS have been passed to the function. Fixes: QTBUG-99238 Change-Id: I8cee83dc92dc6acdaaf747ea6ff9084c11dc649b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/QtDbusHelpers.cmake')
-rw-r--r--cmake/QtDbusHelpers.cmake8
1 files changed, 7 insertions, 1 deletions
diff --git a/cmake/QtDbusHelpers.cmake b/cmake/QtDbusHelpers.cmake
index 5e72375ee4..26e98eff27 100644
--- a/cmake/QtDbusHelpers.cmake
+++ b/cmake/QtDbusHelpers.cmake
@@ -3,7 +3,12 @@
# helper to set up a qdbusxml2cpp rule
function(qt_create_qdbusxml2cpp_command target infile)
- qt_parse_all_arguments(arg "qt_create_qdbusxml2cpp_command" "ADAPTOR;INTERFACE" "BASENAME" "FLAGS" ${ARGN})
+ cmake_parse_arguments(PARSE_ARGV 2 arg
+ "ADAPTOR;INTERFACE"
+ "BASENAME"
+ "FLAGS")
+ _qt_internal_validate_all_args_are_parsed(arg)
+
if((arg_ADAPTOR AND arg_INTERFACE) OR (NOT arg_ADAPTOR AND NOT arg_INTERFACE))
message(FATAL_ERROR "qt_create_dbusxml2cpp_command needs either ADAPTOR or INTERFACE.")
endif()
@@ -55,6 +60,7 @@ function(qt_create_qdbusxml2cpp_command target infile)
"${header_file}:${source_file}" "${absolute_in_file_path}"
DEPENDS "${absolute_in_file_path}" ${QT_CMAKE_EXPORT_NAMESPACE}::qdbusxml2cpp
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ COMMAND_EXPAND_LISTS
VERBATIM)
target_sources("${target}" PRIVATE