1
MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
3
FOREACH(arg_name ${arg_names})
4
SET(${prefix}_${arg_name})
6
FOREACH(option ${option_names})
7
SET(${prefix}_${option} FALSE)
10
SET(current_arg_name DEFAULT_ARGS)
13
SET(larg_names ${arg_names})
14
LIST(FIND larg_names "${arg}" is_arg_name)
15
IF (is_arg_name GREATER -1)
16
SET(${prefix}_${current_arg_name} ${current_arg_list})
17
SET(current_arg_name ${arg})
19
ELSE (is_arg_name GREATER -1)
20
SET(loption_names ${option_names})
21
LIST(FIND loption_names "${arg}" is_option)
22
IF (is_option GREATER -1)
23
SET(${prefix}_${arg} TRUE)
24
ELSE (is_option GREATER -1)
25
SET(current_arg_list ${current_arg_list} ${arg})
26
ENDIF (is_option GREATER -1)
27
ENDIF (is_arg_name GREATER -1)
29
SET(${prefix}_${current_arg_name} ${current_arg_list})
30
ENDMACRO(PARSE_ARGUMENTS)