MinitScript
0.9.31 PRE-BETA
src
minitscript
tools
minitscriptmain-main.cpp
Go to the documentation of this file.
1
#include <cstdlib>
2
#include <string>
3
#include <vector>
4
5
#include <
minitscript/minitscript.h
>
6
#include <
minitscript/minitscript/Generator.h
>
7
#include <
minitscript/minitscript/Version.h
>
8
#include <
minitscript/utilities/Console.h
>
9
#include <
minitscript/utilities/StringTools.h
>
10
11
using
std::exit;
12
using
std::string;
13
using
std::to_string;
14
using
std::vector;
15
16
using
minitscript::minitscript::Generator
;
17
using
minitscript::minitscript::Version
;
18
using
minitscript::utilities::Console
;
19
using
minitscript::utilities::StringTools
;
20
21
int
main
(
int
argc,
char
** argv)
22
{
23
Console::printLine(
string
(
"minitscriptmain "
) + Version::getVersion());
24
Console::printLine(Version::getCopyright());
25
Console::printLine();
26
27
//
28
auto
printUsage = []() ->
void
{
29
Console::printLine(
"Usage: minitscriptmain [--use-library] [--native-only] script_filename script_class_name main_filename"
);
30
};
31
32
//
33
if
(argc == 1) {
34
printUsage();
35
return
EXIT_FAILURE;
36
}
37
38
//
39
auto
useLibrary =
false
;
40
auto
nativeOnly =
false
;
41
auto
i = 1;
42
for
(; i < argc; i++) {
43
string
argument = argv[i];
44
if
(StringTools::startsWith(argument,
"--"
) ==
false
)
break
;
45
if
(argument ==
"--use-library"
) {
46
useLibrary =
true
;
47
}
else
48
if
(argument ==
"--native-only"
) {
49
nativeOnly =
true
;
50
}
51
}
52
auto
scriptURI = i < argc?string(argv[i++]):string();
53
auto
className = i < argc?string(argv[i++]):string();
54
auto
mainURI = i < argc?string(argv[i++]):string();
55
56
//
57
if
(i != argc) {
58
printUsage();
59
return
EXIT_FAILURE;
60
}
61
62
//
63
if
(StringTools::endsWith(mainURI,
"-main.cpp"
) ==
false
) {
64
Console::printLine(
"An error occurred: main_filename must end with '-main.cpp'"
);
65
return
EXIT_FAILURE;
66
}
67
68
// generate
69
Generator::generateMain(scriptURI, className, mainURI, useLibrary, nativeOnly);
70
71
//
72
return
EXIT_SUCCESS;
73
}
Console.h
Generator.h
StringTools.h
Version.h
minitscript::minitscript::Generator
MinitScript generator.
Definition:
Generator.h:18
minitscript::utilities::Console
Console class.
Definition:
Console.h:22
minitscript::utilities::StringTools
String tools class.
Definition:
StringTools.h:21
minitscript.h
main
int main(int argc, char **argv)
Definition:
minitscriptmain-main.cpp:21
minitscript::minitscript::Version
Version.
Definition:
Version.h:15
Generated by
1.9.1