blob: d93dcee519b5b2a6e46ba46b42f4956558e8caeb [file] [log] [blame]
#-------------------------------------------------------------------------------
# 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()