/normxcorr/trunk

To get this branch, use:
bzr branch http://suren.me/webbzr/normxcorr/trunk

« back to all changes in this revision

Viewing changes to dict_hw/cmake/ParseArguments.cmake

  • Committer: Suren A. Chilingaryan
  • Date: 2009-12-12 01:38:41 UTC
  • Revision ID: csa@dside.dyndns.org-20091212013841-feih3qa4i28x75j4
Provide stand-alone library

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
 
2
  SET(DEFAULT_ARGS)
 
3
  FOREACH(arg_name ${arg_names})    
 
4
    SET(${prefix}_${arg_name})
 
5
  ENDFOREACH(arg_name)
 
6
  FOREACH(option ${option_names})
 
7
    SET(${prefix}_${option} FALSE)
 
8
  ENDFOREACH(option)
 
9
 
 
10
  SET(current_arg_name DEFAULT_ARGS)
 
11
  SET(current_arg_list)
 
12
  FOREACH(arg ${ARGN})            
 
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})
 
18
      SET(current_arg_list)
 
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)
 
28
  ENDFOREACH(arg)
 
29
  SET(${prefix}_${current_arg_name} ${current_arg_list})
 
30
ENDMACRO(PARSE_ARGUMENTS)