summaryrefslogtreecommitdiff
path: root/odb/options.cli
blob: 19c3b4c4644a45e7a2c17adc7417b135ef9a4b2f (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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// file      : odb/options.cli
// author    : Boris Kolpackov <boris@codesynthesis.com>
// copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
// license   : GNU GPL v2; see accompanying LICENSE file

include <string>;
include <vector>;

class options
{
  //
  // Wrapper options. These are not passed to the plugin.
  //

  bool --help {"Print usage information and exit."};
  bool --version {"Print version and exit."};

  //
  // Plugin options.
  //
  std::string --output-dir | -o
  {
    "<dir>",
    "Write the generated files to <dir> instead of the current directory."
  };

  std::string --odb-file-suffix = "-odb"
  {
    "<suffix>",
    "Use <suffix> instead of the default \cb{-odb} to construct the names
     of the generated ODB files."
  };

  std::string --hxx-suffix = ".hxx"
  {
    "<suffix>",
    "Use <suffix> instead of the default \cb{.hxx} to construct the name of
     the generated header file."
  };

  std::string --ixx-suffix = ".ixx"
  {
    "<suffix>",
    "Use <suffix> instead of the default \cb{.ixx} to construct the name of
     the generated inline file."
  };

  std::string --cxx-suffix = ".cxx"
  {
    "<suffix>",
    "Use <suffix> instead of the default \cb{.cxx} to construct the name of
     the generated source file."
  };

  bool --include-with-brackets
  {
    "Use angle brackets (<>) instead of quotes (\"\") in the generated
     \cb{#include} directives."
  };

  std::string --include-prefix
  {
    "<prefix>",
    "Add <prefix> to the generated \cb{#include} directive paths."
  };

  bool --trace {"Trace the compilation process."};

  // This is a "fake" option in that it is actually handled by
  // argv_file_scanner. We have it here to get the documentation.
  //
  std::string --options-file
  {
    "<file>",
    "Read additional options from <file> with each option appearing on a
     separate line optionally followed by space and an option value. Empty
     lines and lines starting with \cb{#} are ignored. The semantics of
     providing options in a file is equivalent to providing the same set
     of options in the same order on the command line at the point where the
     \cb{--options-file} option is specified except that shell escaping and
     quoting is not required. Repeat this option to specify more than one
     options files."
  };
};