Ide: Ide now longer supports build through command line. The build via command line is UMK responsibility only.

git-svn-id: svn://ultimatepp.org/upp/trunk@12121 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
klugier 2018-07-30 13:36:15 +00:00
parent 0c4ccecc77
commit 7fc617b8b4
2 changed files with 1 additions and 162 deletions

View file

@ -55,9 +55,7 @@ bool CommandLineHandler::HandleHelp() const
if(args.IsEmpty() || findarg(args[0], "?", "--help", "-h", "-?", "/?") < 0)
return false;
Cout() << "Usage: theide assembly package\n"
" theide assembly package build_method [-[a][b][e][r][s][S][v][1][2][m][d][M][l][x][X][Hn]] [+FLAG[,FLAG]...] [out]\n"
" theide -f [file..]\n"
Cout() << "Usage: theide -f [file..]\n"
" theide [file..] // autodetection mode\n\n";
Cout() << "Common options:\n"

View file

@ -210,165 +210,6 @@ void AppMain___()
Ide ide;
ide.Maximize();
bool clset = false;
if(arg.GetCount() >= 2 && IsAlpha(arg[0][0]) && IsAlpha(arg[1][0]) && IsAssembly(arg[0]) && arg[0] != "-f") {
bool build = arg.GetCount() >= 3 && IsAlpha(arg[2][0]);
#ifdef PLATFORM_WIN32
if(build) {
HMODULE hDLL = LoadLibrary("kernel32");
bool attach = false;
if(hDLL) {
typedef BOOL (WINAPI *AttachConsoleType)(DWORD dwProcessId);
AttachConsoleType AttachConsole;
AttachConsole = (AttachConsoleType) GetProcAddress(hDLL, "AttachConsole");
if(AttachConsole)
attach = AttachConsole((DWORD)-1);
}
if(!attach)
AllocConsole();
}
#endif
for(int i = 3; i < arg.GetCount(); i++)
if(arg[i][0] == '-') {
String x = arg[i];
for(int i = 1; i < x.GetCount(); i++)
if(x[i] == 'l')
SilentMode = true;
}
if(!LoadVars(arg[0])) {
if(build)
Puts("TheIDE: Invalid assembly\n");
else
Exclamation("Invalid assembly!");
SetExitCode(2);
return;
}
if(!FileExists(SourcePath(arg[1], GetFileTitle(arg[1]) + ".upp"))) {
if(build)
Puts("TheIDE: Package does not exist\n");
else
Exclamation("Package does not exist!");
SetExitCode(2);
return;
}
if(build) {
ide.SetMain(arg[1]);
clset = true;
bool stoponerror = false;
const Workspace& wspc = ide.IdeWorkspace();
if(!wspc.GetCount())
return;
const Array<Package::Config>& f = wspc.GetPackage(0).config;
if(f.GetCount())
ide.mainconfigparam = f[0].param;
String m = arg[2];
if(!FileExists(ConfigFile((String)m + ".bm"))) {
SilentMode = false;
Puts("TheIDE: Invalid build method\n");
SetExitCode(3);
return;
}
ide.method = m;
ide.debug.def.blitz = ide.release.def.blitz = 0;
ide.debug.def.debug = 2;
ide.release.def.debug = 0;
ide.debug.package.Clear();
ide.release.package.Clear();
ide.debug.linkmode = ide.release.linkmode = 0;
ide.release.createmap = ide.debug.createmap = false;
ide.targetmode = 0;
ide.console.console = true;
bool clean = false;
bool makefile = false;
bool deletedir = false;
int exporting = 0;
String mkf;
for(int i = 3; i < arg.GetCount(); i++)
if(arg[i][0] == '>')
ide.mainconfigparam = Filter(~arg[i] + 1, CommaSpace);
else
if(arg[i][0] == '-') {
String x = arg[i];
for(int i = 1; i < x.GetCount(); i++)
switch(x[i]) {
case 'a':
clean = true;
break;
case 'r':
ide.targetmode = 1;
break;
case 'm':
ide.release.createmap = ide.debug.createmap = true;
break;
case 'b':
ide.release.def.blitz = ide.debug.def.blitz = 1;
break;
case 's':
ide.debug.linkmode = ide.release.linkmode = 1;
break;
case 'd':
ide.debug.def.debug = 0;
break;
case 'S':
ide.debug.linkmode = ide.release.linkmode = 2;
break;
case 'e':
stoponerror = true;
break;
case 'M':
makefile = true;
break;
case 'v':
ide.console.verbosebuild = true;
break;
case 'l':
break;
case 'x':
exporting = 1;
break;
case 'X':
exporting = 2;
break;
case 'k':
deletedir = false;
break;
default:
SilentMode = false;
Puts("Invalid build option(s)");
SetExitCode(3);
return;
}
}
else {
ide.debug.target_override = ide.release.target_override = true;
ide.debug.target = ide.release.target = mkf = arg[i];
}
if(clean)
ide.Clean();
if(exporting) {
mkf = GetFullPath(mkf);
Cout() << mkf << '\n';
RealizeDirectory(mkf);
if(makefile)
ide.ExportMakefile(mkf);
else
ide.ExportProject(mkf, exporting == 2, false, deletedir);
}
else
if(makefile) {
ide.SaveMakeFile(IsNull(mkf) ? "Makefile" : mkf, false);
SetExitCode(0);
}
else
if(ide.Build())
SetExitCode(0);
else {
if(stoponerror)
PromptOK("TheIDE: Error while building " + DeQtf(arg[1]) + "!");
SetExitCode(1);
}
return;
}
}
ide.LoadConfig();