summaryrefslogtreecommitdiff
path: root/cmake/QtTestHelpers.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/QtTestHelpers.cmake
parent5686824229c331abb690089e94448087f1288556 (diff)
downloadqtbase-7e82577680fb20413cdcfd93a982c52e9d9d095e.tar.gz
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/QtTestHelpers.cmake')
-rw-r--r--cmake/QtTestHelpers.cmake17
1 files changed, 9 insertions, 8 deletions
diff --git a/cmake/QtTestHelpers.cmake b/cmake/QtTestHelpers.cmake
index 2dee5076cb..945311b4a7 100644
--- a/cmake/QtTestHelpers.cmake
+++ b/cmake/QtTestHelpers.cmake
@@ -9,12 +9,12 @@ function(qt_internal_add_benchmark target)
message(WARNING "Benchmarks won't be batched - unsupported (yet)")
endif()
- qt_parse_all_arguments(arg "qt_add_benchmark"
+ cmake_parse_arguments(PARSE_ARGV 1 arg
"${__qt_internal_add_executable_optional_args}"
"${__qt_internal_add_executable_single_args}"
"${__qt_internal_add_executable_multi_args}"
- ${ARGN}
)
+ _qt_internal_validate_all_args_are_parsed(arg)
qt_remove_args(exec_args
ARGS_TO_REMOVE
@@ -93,12 +93,12 @@ endfunction()
# See qt_internal_add_executable() for more details.
function(qt_internal_add_manual_test target)
- qt_parse_all_arguments(arg "qt_add_manual_test"
+ cmake_parse_arguments(PARSE_ARGV 1 arg
"${__qt_internal_add_executable_optional_args}"
"${__qt_internal_add_executable_single_args}"
"${__qt_internal_add_executable_multi_args}"
- ${ARGN}
)
+ _qt_internal_validate_all_args_are_parsed(arg)
qt_remove_args(exec_args
ARGS_TO_REMOVE
@@ -427,12 +427,12 @@ endfunction()
function(qt_internal_add_test name)
qt_internal_get_test_arg_definitions(optional_args single_value_args multi_value_args)
- qt_parse_all_arguments(arg "qt_add_test"
+ cmake_parse_arguments(PARSE_ARGV 1 arg
"${optional_args};NO_BATCH"
"${single_value_args}"
"${multi_value_args}"
- ${ARGN}
)
+ _qt_internal_validate_all_args_are_parsed(arg)
if (NOT arg_OUTPUT_DIRECTORY)
set(arg_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
@@ -836,11 +836,12 @@ function(qt_internal_add_test_helper name)
"OVERRIDE_OUTPUT_DIRECTORY"
)
- qt_parse_all_arguments(arg "qt_add_test_helper"
+ cmake_parse_arguments(PARSE_ARGV 1 arg
"${qt_add_test_helper_optional_args};${__qt_internal_add_executable_optional_args}"
"${__qt_internal_add_executable_single_args}"
"${__qt_internal_add_executable_multi_args}"
- ${ARGN})
+ )
+ _qt_internal_validate_all_args_are_parsed(arg)
qt_remove_args(forward_args
ARGS_TO_REMOVE