diff options
author | Amir Masoud Abdol <amirmasoudabdol@icloud.com> | 2023-01-11 15:36:18 +0100 |
---|---|---|
committer | Amir Masoud Abdol <amirmasoudabdol@icloud.com> | 2023-01-18 14:47:12 +0100 |
commit | 7e82577680fb20413cdcfd93a982c52e9d9d095e (patch) | |
tree | 749fec2391204d25cb93f659f525f71e473f0f55 /cmake/QtTestHelpers.cmake | |
parent | 5686824229c331abb690089e94448087f1288556 (diff) | |
download | qtbase-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.cmake | 17 |
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 |