ultimatepp/uppsrc/ide/Upgrade.cpp
klugier a267902e15 Ide: Minor fixes related to upgrade ide option.
git-svn-id: svn://ultimatepp.org/upp/trunk@12364 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2018-10-13 18:51:23 +00:00

44 lines
1 KiB
C++

#include "ide.h"
void Ide::UpgradeTheIDE()
{
String idepath = GetExeFilePath();
String newpath = idepath + ".new";
String bakpath(~idepath, GetFileExtPos(idepath));
bakpath << ".bak" << GetExeExt();
int tbak = targetmode;
String tmbak = StoreAsString(release);
release.target_override = true;
release.target = newpath;
#ifdef PLATFORM_WIN32
release.linkmode = 0;
#else
release.linkmode = 1;
#endif
release.createmap = false;
release.version.Clear();
release.def.blitz = false;
release.def.debug = false;
release.package.Clear();
targetmode = 1;
Clean();
if(Build()) {
FileDelete(bakpath);
if(FileExists(bakpath))
Exclamation("Unable to delete&" + bakpath);
else {
PutVerbose("Moving " + idepath + " to " + bakpath);
FileMove(idepath, bakpath);
PutVerbose("Moving " + newpath + " to " + idepath);
FileMove(newpath, idepath);
PutConsole("Upgrade finished, please restart theide.");
}
}
LoadFromString(release, tmbak);
targetmode = tbak;
}