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 }