1 /// 2 // Written in the D programming language.3 /**
4 This is a build tool,compile *.d to exe or lib,and help to build dgui,dfl2 gui (or other you like).
5 now default DC is dmd ,default platform is windows.
6 7 If your DC is dmd, dco can start only 'dco.ini' config file.
8 9 Compiler dco.d :dmd dco.d -release,and dco ↓,
10 11 Usage:
12 Config some info to 'dco.ini' file,';' or '#' means you can do as it.Then copy dco.ini to your PATH: such as dmd's config file:sc.ini.
13 And dco.exe can auto copy itsself to EnvPath,that also is dmd.exe 's path: dmd2\window\bin.
14 After that,you can run the 'dco.exe' anywhere.
15 If not found 'dco.ini',run: dco -ini,please.
16 17 For example:
18 to get the debug version( -release to get another)
19 20 build some *.d to lib or exe : dco ↓
21 build some *.d to lib or exe for 64 bit : dco -m64 ↓
22 build one app.d in many *.d : dco app or dco app.d
23 build for libs such as dfl,dgui : dco -lib
24 build for app.d use dgui,dfl2 : dco -gui
25 build app.d use dfl2 for console : dco -con
26 build lib and copy to libs : dco -lib -copy
27 build by custom and copy to libs : dco -arg -addlib -lib -copy
28 29 if your exe's file works on console,you should add '-con' or '-console'.
30 31 Copyright: Copyright FrankLIKE 2014-.
32 33 License: $(LGPL-3.0).
34 35 Authors: FrankLIKE
36 37 Source: $(dco.d)
38 39 Created Time:2014-10-27
40 Modify Time:2014-10-31~2016-08-12
41 */42 moduledcoexe;
43 /// dco 44 importdco.all;
45 46 voidmain(string[] args)
47 {
48 if(!findDCEnv()) return;
49 // readInJson();50 51 if(!checkArgs(args))
52 {
53 if(bHelp)
54 {
55 ShowUsage();
56 return;
57 }
58 59 if(bVersion)
60 {
61 ShowVersion();
62 return;
63 }
64 65 if(bInitINI)
66 {
67 initNewConfigFile();
68 return;
69 }
70 71 if(!findFiles())
72 {
73 ShowUsage();
74 return;
75 }
76 }
77 if(args.length ==1)
78 {
79 if(!CheckBinFolderAndCopy()) return;
80 }
81 82 if(strPackageName =="")
83 {
84 strPackageName = strTargetName;
85 }
86 87 buildExe(args);
88 }