490_uppsrc.diff

The diff file to apply for uppsrc directory - Sender Ghost, 07/05/2013 08:33 AM

Download (9.01 KB)

View differences:

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