1 /**
2  This file is never actually used in production. It owes its existence
3  to allowing the UTs to build and flycheck to not complain.
4  */
5 
6 module reggae.config;
7 
8 import reggae.types;
9 import reggae.options;
10 import reggae.ctaa;
11 
12 version(minimal) {
13     enum isDubProject = false;
14 } else {
15     enum isDubProject = true;
16 }
17 
18 immutable Options gDefaultOptions = Options(Backend.ninja,
19             "",
20             "",
21             "",
22             "gcc",
23             "g++",
24             "dmd",
25             false,
26             false,
27             true, //perModule only for UTs, false in real world
28             isDubProject,
29             false,
30 );
31 
32 Options gOptions = gDefaultOptions.dup;
33 
34 Options options() @safe nothrow {
35     return gOptions;
36 }
37 
38 void setOptions(Options options) {
39     gOptions = options;
40 }
41 
42 void setDefaultOptions() {
43     gOptions = gDefaultOptions.dup;
44 }
45 
46 enum userVars = AssocList!(string, string)();
47 
48 version(minimal) {}
49 else {
50     import reggae.dub.info;
51     import reggae.ctaa;
52 
53     enum dubInfo = ["default": DubInfo() ];
54     enum configToDubInfo = AssocList!(string, DubInfo)();
55 }