| #------------------------------------------------------------------------------- |
| # Copyright (c) 2019-2020, Arm Limited and Contributors. All rights reserved. |
| # |
| # SPDX-License-Identifier: BSD-3-Clause |
| # |
| #------------------------------------------------------------------------------- |
| |
| #[===[.rst: |
| Misc utilities |
| -------------- |
| #]===] |
| |
| include_guard(DIRECTORY) |
| |
| #[===[.rst: |
| .. cmake:command:: check_args |
| |
| .. code-block:: cmake |
| |
| check_args(func_name REQ_ARG1 REQ_ARG2) |
| |
| Helper macro for argument checking in functions. First argument *func_name* is |
| the name of the function, other arguments are the names of the required |
| arguments to that function. The macro iterates through the list, and prints |
| and error message if not all arguments are defined. |
| |
| #]===] |
| macro(check_args) |
| set(_argv "${ARGV}") |
| list(SUBLIST _argv 0 1 _func) |
| list(SUBLIST _argv 1 -1 _args) |
| foreach(_arg IN LISTS _args) |
| if (NOT DEFINED _MY_PARAMS_${_arg}) |
| message(FATAL_ERROR "${_func}(): mandatory parameter '${_arg}' missing.") |
| endif() |
| endforeach() |
| endmacro() |