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)) |