490_uppsrc.diff
| uppsrc/ide/AutoSetup.cpp 2013-07-05 09:49:00 +0400 | ||
|---|---|---|
| 54 | 54 |
CtrlLayoutOKCancel(dlg, "Ultimate++ methods auto-setup"); |
| 55 | 55 |
dlg.Sizeable().Zoomable().SetRect(Size(640, 480)); |
| 56 | 56 |
|
| 57 |
WithAutoSetupMSC12<ParentCtrl> msc12; CtrlLayout(msc12); |
|
| 57 | 58 |
WithAutoSetupMSC11<ParentCtrl> msc11; CtrlLayout(msc11); |
| 58 | 59 |
WithAutoSetupMSC10<ParentCtrl> msc10; CtrlLayout(msc10); |
| 59 | 60 |
WithAutoSetupMSC9<ParentCtrl> msc9; CtrlLayout(msc9); |
| ... | ... | |
| 65 | 66 |
|
| 66 | 67 |
CtrlList msclist, mingwlist, owclist, otherlist; |
| 67 | 68 |
|
| 68 |
msclist.AddLayout(msc11) |
|
| 69 |
msclist.AddLayout(msc12) |
|
| 70 |
.AddLayout(msc11) |
|
| 69 | 71 |
.AddLayout(msc10) |
| 70 | 72 |
.AddLayout(msc9) |
| 71 | 73 |
.AddLayout(msc8) |
| ... | ... | |
| 214 | 216 |
msc11.method64 <<= "MSC11x64"; |
| 215 | 217 |
|
| 216 | 218 |
|
| 219 |
String sdk12 = NormalizePathNN(GetWinRegString("InstallationFolder",
|
|
| 220 |
"SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v8.1", |
|
| 221 |
HKEY_LOCAL_MACHINE)); |
|
| 222 |
String bin12; |
|
| 223 |
if(!IsNull(sdk12) && FileExists(AppendFileName(sdk12, "VC\\bin\\cl.exe"))) |
|
| 224 |
bin12 = sdk12; |
|
| 225 |
else |
|
| 226 |
ExistProgram(bin12, "Program Files (x86)\\Microsoft Visual Studio 12.0", "VC\\bin\\cl.exe") |
|
| 227 |
|| ExistProgram(bin12, "Program Files\\Microsoft Visual Studio 12.0", "VC\\bin\\cl.exe"); |
|
| 228 |
msc12.sdk <<= sdk12; |
|
| 229 |
msc12.dir <<= bin12; |
|
| 230 |
msc12.method <<= "MSC12"; |
|
| 231 |
msc12.create <<= !IsNull(msc12.dir); |
|
| 232 |
String vc12_64 = AppendFileName(bin12, "VC\\bin\\x64"); |
|
| 233 |
if(!FileExists(AppendFileName(vc12_64, "cl.exe"))) |
|
| 234 |
vc12_64 = AppendFileName(bin12, "VC\\bin\\x86_amd64"); |
|
| 235 |
if(bin12.GetLength() && FileExists(AppendFileName(vc12_64, "cl.exe"))) |
|
| 236 |
msc12.create64 = true; |
|
| 237 |
msc12.method64 <<= "MSC12x64"; |
|
| 238 |
|
|
| 239 |
|
|
| 217 | 240 |
other.mysql <<= NormalizePathNN(GetWinRegString("Location", "SOFTWARE\\MySQL AB\\MySQL Server 4.1"));
|
| 218 | 241 |
|
| 219 | 242 |
String sdl = NormalizePathNN(ConfigFile("sdl"));
|
| ... | ... | |
| 228 | 251 |
DirSel(msc9.dir, bd.Add()); |
| 229 | 252 |
DirSel(msc10.dir, bd.Add()); |
| 230 | 253 |
DirSel(msc11.dir, bd.Add()); |
| 254 |
DirSel(msc12.dir, bd.Add()); |
|
| 231 | 255 |
DirSel(msc7_1.sdk, bd.Add()); |
| 232 | 256 |
DirSel(msc8.sdk, bd.Add()); |
| 233 | 257 |
DirSel(msc9.sdk, bd.Add()); |
| 234 | 258 |
DirSel(msc10.sdk, bd.Add()); |
| 235 | 259 |
DirSel(msc11.sdk, bd.Add()); |
| 260 |
DirSel(msc12.sdk, bd.Add()); |
|
| 236 | 261 |
DirSel(other.sdl, bd.Add()); |
| 237 | 262 |
DirSel(other.mysql, bd.Add()); |
| 238 | 263 |
if(dlg.Run() != IDOK) |
| ... | ... | |
| 322 | 347 |
lib << ";" << AppendFileName(mysql, "lib"); |
| 323 | 348 |
} |
| 324 | 349 |
|
| 350 |
String vs12 = ~msc12.dir; |
|
| 351 |
if(!IsNull(vs12) && msc12.create64) {
|
|
| 352 |
String vc = AppendFileName(vs12, "VC"); |
|
| 353 |
String m = ~msc12.method64; |
|
| 354 |
String sdk = ~msc12.sdk; |
|
| 355 |
if(IsNull(sdk)) |
|
| 356 |
sdk = AppendFileName(vc, "PlatformSDK"); |
|
| 357 |
String vc_lib = AppendFileName(vc, "lib\\x64"); |
|
| 358 |
if(!DirectoryExists(vc_lib)) |
|
| 359 |
vc_lib = AppendFileName(vc, "lib\\amd64"); |
|
| 360 |
SaveFile( |
|
| 361 |
AppendFileName(dir, m + ".bm"), |
|
| 362 |
"BUILDER = \"MSC12X64\";\n" |
|
| 363 |
"DEBUG_INFO = \"2\";\n" |
|
| 364 |
"DEBUG_BLITZ = \"1\";\n" |
|
| 365 |
"DEBUG_LINKMODE = \"0\";\n" |
|
| 366 |
"DEBUG_OPTIONS = \"-Od\";\n" |
|
| 367 |
"RELEASE_BLITZ = \"0\";\n" |
|
| 368 |
"RELEASE_LINKMODE = \"0\";\n" |
|
| 369 |
"RELEASE_OPTIONS = \"-O1 -GS-\";\n" |
|
| 370 |
"RELEASE_SIZE_OPTIONS = \"-O1 -GS-\";\n" |
|
| 371 |
"DEBUGGER = \"\";\n" |
|
| 372 |
"REMOTE_HOST = \"\";\n" |
|
| 373 |
"REMOTE_OS = \"\";\n" |
|
| 374 |
"REMOTE_TRANSFER = \"\";\n" |
|
| 375 |
"REMOTE_MAP = \"\";\n" |
|
| 376 |
"PATH = " + AsCString( |
|
| 377 |
AppendFileName(vs12, "Common7\\IDE") + ';' + |
|
| 378 |
vc12_64 + ';' + |
|
| 379 |
AppendFileName(sdk, "bin\\x64") + |
|
| 380 |
exe |
|
| 381 |
) + ";\n" |
|
| 382 |
"INCLUDE = " + AsCString( |
|
| 383 |
AppendFileName(vc, "include") + ';' + |
|
| 384 |
AppendFileName(sdk, "Include\\um") + ';' + |
|
| 385 |
AppendFileName(sdk, "Include\\shared") + ';' + |
|
| 386 |
AppendFileName(sdk, "Include\\winrt") + |
|
| 387 |
include |
|
| 388 |
) + ";\n" |
|
| 389 |
"LIB = " + AsCString( |
|
| 390 |
vc_lib + ';' + |
|
| 391 |
AppendFileName(sdk, "Lib\\winv6.3\\um\\x64") + |
|
| 392 |
lib |
|
| 393 |
) + ";\n" |
|
| 394 |
); |
|
| 395 |
SaveFile(AppendFileName(dir, "default_method"), m); |
|
| 396 |
} |
|
| 397 |
|
|
| 398 |
if(!IsNull(vs12) && msc12.create) {
|
|
| 399 |
String vc = AppendFileName(vs12, "VC"); |
|
| 400 |
String m = ~msc12.method; |
|
| 401 |
String sdk = ~msc12.sdk; |
|
| 402 |
if(IsNull(sdk)) |
|
| 403 |
sdk = AppendFileName(vc, "PlatformSDK"); |
|
| 404 |
SaveFile( |
|
| 405 |
AppendFileName(dir, m + ".bm"), |
|
| 406 |
"BUILDER = \"MSC12\";\n" |
|
| 407 |
"DEBUG_INFO = \"2\";\n" |
|
| 408 |
"DEBUG_BLITZ = \"1\";\n" |
|
| 409 |
"DEBUG_LINKMODE = \"0\";\n" |
|
| 410 |
"DEBUG_OPTIONS = \"-Od\";\n" |
|
| 411 |
"RELEASE_BLITZ = \"0\";\n" |
|
| 412 |
"RELEASE_LINKMODE = \"0\";\n" |
|
| 413 |
"RELEASE_OPTIONS = \"-O2 -GS-\";\n" |
|
| 414 |
"RELEASE_SIZE_OPTIONS = \"-O1 -GS-\";\n" |
|
| 415 |
"DEBUGGER = \"\";\n" |
|
| 416 |
"REMOTE_HOST = \"\";\n" |
|
| 417 |
"REMOTE_OS = \"\";\n" |
|
| 418 |
"REMOTE_TRANSFER = \"\";\n" |
|
| 419 |
"REMOTE_MAP = \"\";\n" |
|
| 420 |
"PATH = " + AsCString( |
|
| 421 |
AppendFileName(vs12, "Common7\\IDE") + ';' + |
|
| 422 |
AppendFileName(vc, "bin") + ';' + |
|
| 423 |
AppendFileName(sdk, "bin\\x86") + |
|
| 424 |
exe |
|
| 425 |
) + ";\n" |
|
| 426 |
"INCLUDE = " + AsCString( |
|
| 427 |
AppendFileName(vc, "include") + ';' + |
|
| 428 |
AppendFileName(sdk, "Include\\um") + ';' + |
|
| 429 |
AppendFileName(sdk, "Include\\shared") + ';' + |
|
| 430 |
AppendFileName(sdk, "Include\\winrt") + |
|
| 431 |
include |
|
| 432 |
) + ";\n" |
|
| 433 |
"LIB = " + AsCString( |
|
| 434 |
AppendFileName(vc, "lib") + ';' + |
|
| 435 |
AppendFileName(sdk, "Lib\\winv6.3\\um\\x86") + |
|
| 436 |
lib |
|
| 437 |
) + ";\n" |
|
| 438 |
); |
|
| 439 |
SaveFile(AppendFileName(dir, "default_method"), m); |
|
| 440 |
} |
|
| 441 |
|
|
| 325 | 442 |
String vs11 = ~msc11.dir; |
| 326 | 443 |
if(!IsNull(vs11) && msc11.create64) {
|
| 327 | 444 |
String vc = AppendFileName(vs11, "VC"); |
| uppsrc/ide/Builders/MscBuilder.icpp 2013-07-05 09:39:19 +0400 | ||
|---|---|---|
| 103 | 103 |
|
| 104 | 104 |
bool MscBuilder::IsMsc86() const |
| 105 | 105 |
{
|
| 106 |
return HasFlag("MSC8") || HasFlag("MSC9") || HasFlag("MSC10") || HasFlag("MSC11");
|
|
| 106 |
return HasFlag("MSC8") || HasFlag("MSC9") || HasFlag("MSC10") || HasFlag("MSC11")
|
|
| 107 |
|| HasFlag("MSC12");
|
|
| 107 | 108 |
} |
| 108 | 109 |
|
| 109 | 110 |
bool MscBuilder::IsMscArm() const |
| ... | ... | |
| 113 | 114 |
|
| 114 | 115 |
bool MscBuilder::IsMsc64() const |
| 115 | 116 |
{
|
| 116 |
return HasFlag("MSC8X64") || HasFlag("MSC9X64") || HasFlag("MSC10X64") || HasFlag("MSC11X64");
|
|
| 117 |
return HasFlag("MSC8X64") || HasFlag("MSC9X64") || HasFlag("MSC10X64") || HasFlag("MSC11X64")
|
|
| 118 |
|| HasFlag("MSC12X64");
|
|
| 117 | 119 |
} |
| 118 | 120 |
|
| 119 | 121 |
String MscBuilder::LinkerName() const |
| ... | ... | |
| 372 | 374 |
IdeConsoleEndGroup(); |
| 373 | 375 |
return false; |
| 374 | 376 |
} |
| 375 |
bool isgemsc10 = HasFlag("MSC10") || HasFlag("MSC10X64") || HasFlag("MSC11") || HasFlag("MSC11X64");
|
|
| 377 |
bool isgemsc10 = HasFlag("MSC10") || HasFlag("MSC10X64") || HasFlag("MSC11")
|
|
| 378 |
|| HasFlag("MSC11X64") || HasFlag("MSC12X64");
|
|
| 376 | 379 |
Vector<Host::FileInfo> objinfo = host->GetFileInfo(obj); |
| 377 | 380 |
for(int i = 0; i < obj.GetCount(); i++) |
| 378 | 381 |
if(objinfo[i] > producttime) {
|
| ... | ... | |
| 517 | 520 |
int time = GetTickCount(); |
| 518 | 521 |
if(!Wait()) |
| 519 | 522 |
return false; |
| 520 |
bool isgemsc10 = HasFlag("MSC10") || HasFlag("MSC10X64") || HasFlag("MSC11") || HasFlag("MSC11X64");
|
|
| 523 |
bool isgemsc10 = HasFlag("MSC10") || HasFlag("MSC10X64") || HasFlag("MSC11")
|
|
| 524 |
|| HasFlag("MSC11X64") || HasFlag("MSC12X64");
|
|
| 521 | 525 |
for(int i = 0; i < linkfile.GetCount(); i++) |
| 522 | 526 |
if(GetFileTime(linkfile[i]) >= targettime) {
|
| 523 | 527 |
String link; |
| ... | ... | |
| 605 | 609 |
RegisterBuilder("MSC8ARM", CreateMscBuilder);
|
| 606 | 610 |
RegisterBuilder("MSC9", CreateMscBuilder);
|
| 607 | 611 |
RegisterBuilder("MSC9X64", CreateMscBuilder);
|
| 612 |
RegisterBuilder("MSC9ARM", CreateMscBuilder);
|
|
| 608 | 613 |
RegisterBuilder("MSC10", CreateMscBuilder);
|
| 609 | 614 |
RegisterBuilder("MSC10X64", CreateMscBuilder);
|
| 610 | 615 |
RegisterBuilder("MSC11", CreateMscBuilder);
|
| 611 | 616 |
RegisterBuilder("MSC11X64", CreateMscBuilder);
|
| 612 |
RegisterBuilder("MSC9ARM", CreateMscBuilder);
|
|
| 617 |
RegisterBuilder("MSC12", CreateMscBuilder);
|
|
| 618 |
RegisterBuilder("MSC12X64", CreateMscBuilder);
|
|
| 613 | 619 |
RegisterBuilder("EVC_ARM", CreateMscBuilder);
|
| 614 | 620 |
RegisterBuilder("EVC_MIPS", CreateMscBuilder);
|
| 615 | 621 |
RegisterBuilder("EVC_SH3", CreateMscBuilder);
|
| uppsrc/ide/ide.lay 2013-07-05 09:32:44 +0400 | ||
|---|---|---|
| 271 | 271 |
ITEM(Button, cancel, SetLabel(t_("Cancel")).RightPosZ(4, 56).BottomPosZ(4, 20))
|
| 272 | 272 |
END_LAYOUT |
| 273 | 273 |
|
| 274 |
LAYOUT(AutoSetupMSC12, 276, 132) |
|
| 275 |
ITEM(Option, create, SetLabel(t_("Create Visual C++ 12.0 build method")).LeftPosZ(0, 200).TopPosZ(4, 15))
|
|
| 276 |
ITEM(EditString, method, HSizePosZ(204, 0).TopPosZ(2, 19)) |
|
| 277 |
ITEM(Option, create64, SetLabel(t_("Create VC++ 12.0 x64 build method")).LeftPosZ(0, 200).TopPosZ(28, 15))
|
|
| 278 |
ITEM(EditString, method64, HSizePosZ(204, 0).TopPosZ(26, 19)) |
|
| 279 |
ITEM(Label, dv___4, SetLabel(t_("Visual C++ 12.0 directory")).LeftPosZ(0, 276).TopPosZ(48, 19))
|
|
| 280 |
ITEM(EditString, dir, HSizePosZ(0, 0).TopPosZ(68, 19)) |
|
| 281 |
ITEM(Label, dv___6, SetLabel(t_("Win32 SDK for Visual C++ 12.0 directory")).LeftPosZ(0, 276).TopPosZ(92, 19))
|
|
| 282 |
ITEM(EditString, sdk, HSizePosZ(0, 0).TopPosZ(112, 19)) |
|
| 283 |
END_LAYOUT |
|
| 284 |
|
|
| 274 | 285 |
LAYOUT(AutoSetupMSC11, 276, 132) |
| 275 | 286 |
ITEM(Option, create, SetLabel(t_("Create Visual C++ 11.0 build method")).LeftPosZ(0, 200).TopPosZ(4, 15))
|
| 276 | 287 |
ITEM(EditString, method, HSizePosZ(204, 0).TopPosZ(2, 19)) |