annotate vera/src/main.cpp @ 73:46012b0dea51

Style
author David Demelier <markand@malikania.fr>
date Fri, 19 Oct 2018 21:16:00 +0200
parents 82b832e1875d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
57
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 //
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 // Copyright (C) 2006-2007 Maciej Sobczak
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 // Distributed under the Boost Software License, Version 1.0.
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 // (See accompanying file LICENSE_1_0.txt or copy at
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 // http://www.boost.org/LICENSE_1_0.txt)
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 //
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
7
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
8
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #include <cstdlib>
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 #include <string>
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 #include <boost/algorithm/string.hpp>
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
12
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 int legacy_main(int argc, char * argv[], bool silent = false);
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
14
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 int boost_main(int argc, char * argv[]);
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
16
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 int main(int argc, char * argv[])
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 {
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 char * veraLegacyEnv = getenv("VERA_LEGACY");
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 if (veraLegacyEnv != NULL)
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 {
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 std::string legacy = veraLegacyEnv;
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 boost::to_lower(legacy);
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 if (legacy == "yes" || legacy == "on" || legacy == "1")
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 {
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 // use the legacy main, and nothing else
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 return legacy_main(argc, argv);
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 }
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 // use the boost main and nothing else
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 return boost_main(argc, argv);
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 }
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 // look at the arg if we can find some options that looks like legacy
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 // options
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 int i = 1;
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 bool useLegacy = false;
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 while (i != argc)
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 {
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 const std::string arg(argv[i]);
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 if (arg == "-version"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 || arg == "-help"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 || arg == "-nofail"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 || arg == "-nodup"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 || arg == "-showrules"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 || arg == "-xmlreport"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 || arg == "-vcformat"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 || arg == "-rule"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 || arg == "-profile"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 || arg == "-exclusions"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 || arg == "-param"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 || arg == "-paramfile"
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 || arg == "-transform")
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 {
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 useLegacy = true;
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 break;
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 }
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 ++i;
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 }
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 // if legacy main fail, we silently pass to boost main in order to display
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 // the new usage message
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 if (useLegacy && legacy_main(argc, argv, true) == EXIT_SUCCESS)
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 {
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 return EXIT_SUCCESS;
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 }
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 return boost_main(argc, argv);
82b832e1875d vera: import 1.3.0, closes #728
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 }