annotate extern/vera/src/main.cpp @ 655:cda30ca5bb76

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