aboutsummaryrefslogtreecommitdiff
path: root/bdep/config.cli
blob: 37f7ae28987d2aab3496aebe58731cc1046d8acb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// file      : bdep/config.cli
// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
// license   : MIT; see accompanying LICENSE file

include <bdep/project.cli>;

"\section=1"
"\name=bdep-config"
"\summary=manage project build configurations"

namespace bdep
{
  {
    "<options>
     <cfg-spec> <cfg-name> <cfg-dir>
     <prj-spec> <prj-dir>
     <cfg-args> <option> <module> <cfg-var>",

    // Other potential subcommands:
    //
    // list        - list associated configurations
    // show|status - details about a configuration (init'ed packages, etc)
    //
    // @@ Should we be able to remove config with init'ed packages? Who
    //    is going to drop them in configs? Or require them to be de-init'ed?
    //
    "\h|SYNOPSIS|

     \c{\b{bdep config add} \ \ \ [<options>] [<prj-spec>] [\b{@}<cfg-name>] <cfg-dir>\n
        \b{bdep config create} [<options>] [<prj-spec>] [\b{@}<cfg-name>] <cfg-dir> [<cfg-args>]\n
        \b{bdep config remove} [<options>] [<prj-spec>] <cfg-spec>... | \b{--all}|\b{-a}\n
        \b{bdep config rename} [<options>] [<prj-spec>] <cfg-spec> <cfg-name>\n
        \b{bdep config set} \ \ \ [<options>] [<prj-spec>] <cfg-spec> \b{--}[\b{no-}]\b{default}}

     \c{<cfg-spec> = \b{@}<cfg-name> | \b{--config}|\b{-c} <cfg-dir>\n
        <prj-spec> = \b{--directory}|\b{-d} <prj-dir>\n
        <cfg-args> = (<option> | <module> | <cfg-var>)...}

     \h|DESCRIPTION|

     The \cb{config} command...

     Unless the \cb{--no-default} option is specified, the first added or
     created build configuration is designated as the default. Several
     \cb{bdep} commands use such a configuration by default if no
     configuration was specified explicitly (see \l{bdep-projects-configs(1)}
     for details). To make a subsequently added configuration the default use
     the \cb{--default} option.
     "
  }

  // Note that not all project/configuration options are valid for all
  // subcommands.
  //
  class cmd_config_options: project_options
  {
    "\h|CONFIG OPTIONS|"

    bool --default
    {
      "Make the added or created configuration the default."
    }

    bool --no-default
    {
      "Don't make the first added or created configuration then default."
    }
  };
}