1# bash completion for cpack(1)                             -*- shell-script -*-
2
3_cpack()
4{
5    local cur prev words cword
6    if type -t _init_completion >/dev/null; then
7        _init_completion -n = || return
8    else
9        # manual initialization for older bash completion versions
10        COMPREPLY=()
11        cur="${COMP_WORDS[COMP_CWORD]}"
12        prev="${COMP_WORDS[COMP_CWORD-1]}"
13    fi
14
15    case "$prev" in
16        -G)
17            COMPREPLY=( $( compgen -W '$( cpack --help 2>/dev/null |
18                sed -e "1,/^Generators/d" -e "s|^ *\([^ ]*\) .*$|\1|" \
19                2>/dev/null )' -- "$cur" ) )
20            return
21            ;;
22        -C)
23            COMPREPLY=( $( compgen -W 'Debug Release RelWithDebInfo
24                MinSizeRel' -- "$cur" ) )
25            return
26            ;;
27        -D)
28            [[ $cur == *=* ]] && return # no completion for values
29            COMPREPLY=( $( compgen -W '$( cpack --help-variable-list \
30                2>/dev/null | grep -v "^cpack version " )' -S = -- "$cur" ) )
31            compopt -o nospace
32            return
33            ;;
34        -P|-R|--vendor)
35            # argument required but no completions available
36            return
37            ;;
38        -B)
39            _filedir -d
40            return
41            ;;
42        --config)
43            _filedir
44            return
45            ;;
46        --help-command)
47            COMPREPLY=( $( compgen -W '$( cpack --help-command-list 2>/dev/null|
48                grep -v "^cpack version " )' -- "$cur" ) )
49            return
50            ;;
51        --help-manual)
52            COMPREPLY=( $( compgen -W '$( cpack --help-manual-list 2>/dev/null|
53                grep -v "^cpack version " | sed -e "s/([0-9])$//" )' -- "$cur" ) )
54            return
55            ;;
56        --help-module)
57            COMPREPLY=( $( compgen -W '$( cpack --help-module-list 2>/dev/null|
58                grep -v "^cpack version " )' -- "$cur" ) )
59            return
60            ;;
61        --help-policy)
62            COMPREPLY=( $( compgen -W '$( cpack --help-policy-list 2>/dev/null |
63                grep -v "^cpack version " )' -- "$cur" ) )
64            return
65            ;;
66        --help-property)
67            COMPREPLY=( $( compgen -W '$( cpack --help-property-list \
68                2>/dev/null | grep -v "^cpack version " )' -- "$cur" ) )
69            return
70            ;;
71        --help-variable)
72            COMPREPLY=( $( compgen -W '$( cpack --help-variable-list \
73                2>/dev/null | grep -v "^cpack version " )' -- "$cur" ) )
74            return
75            ;;
76    esac
77
78    if [[ "$cur" == -* ]]; then
79        COMPREPLY=( $(compgen -W '$( _parse_help "$1" --help )' -- ${cur}) )
80        [[ $COMPREPLY == *= ]] && compopt -o nospace
81        [[ $COMPREPLY ]] && return
82    fi
83
84    _filedir
85} &&
86complete -F _cpack cpack
87
88# ex: ts=4 sw=4 et filetype=sh
89