353_uppsrc.diff

The diff file to apply for uppsrc directory - Sender Ghost, 05/27/2013 12:04 PM

Download (29.1 KB)

View differences:

uppsrc/ide/AutoSetup.cpp 2013-05-27 13:21:51 +0400
32 32
	return false;
33 33
}
34 34

  
35
class CtrlList : public ArrayCtrl {
36
public:
37
	typedef CtrlList CLASSNAME;
38
	CtrlList() { AutoHideSb().NoGrid().NoHeader(); AddColumn(String()); }
39

  
40
	template <class T>
41
	CtrlList& AddLayout(T& ctrl) {
42
		Add();
43
		int index = GetCount() - 1;
44
		DisableLine(index);
45
		SetCtrl(index, 0, ctrl.SizePos());
46
		SetLineCy(index, ctrl.GetLayoutSize().cy);
47
		return *this;
48
	}
49
};
50

  
35 51
void AutoSetup()
36 52
{
37 53
	WithAutoSetupLayout<TopWindow> dlg;
38 54
	CtrlLayoutOKCancel(dlg, "Ultimate++ methods auto-setup");
55
	dlg.Sizeable().Zoomable().SetRect(Size(640, 480));
56

  
57
	WithAutoSetupMSC11<ParentCtrl> msc11; CtrlLayout(msc11);
58
	WithAutoSetupMSC10<ParentCtrl> msc10; CtrlLayout(msc10);
59
	WithAutoSetupMSC9<ParentCtrl> msc9; CtrlLayout(msc9);
60
	WithAutoSetupMSC8<ParentCtrl> msc8; CtrlLayout(msc8);
61
	WithAutoSetupMSC7_1<ParentCtrl> msc7_1; CtrlLayout(msc7_1);
62
	WithAutoSetupMinGW<ParentCtrl> mingw; CtrlLayout(mingw);
63
	WithAutoSetupOWC<ParentCtrl> owc; CtrlLayout(owc);
64
	WithAutoSetupOther<ParentCtrl> other; CtrlLayout(other);
65

  
66
	CtrlList msclist, mingwlist, owclist, otherlist;
67

  
68
	msclist.AddLayout(msc11)
69
		.AddLayout(msc10)
70
		.AddLayout(msc9)
71
		.AddLayout(msc8)
72
		.AddLayout(msc7_1);
73

  
74
	mingwlist.AddLayout(mingw);
75
	owclist.AddLayout(owc);
76
	otherlist.AddLayout(other);
77

  
78
	dlg.tab.Add(msclist.SizePos(), "Visual C++");
79
	dlg.tab.Add(mingwlist.SizePos(), "MinGW GCC");
80
	dlg.tab.Add(owclist.SizePos(), "Open Watcom");
81
	dlg.tab.Add(otherlist.SizePos(), "Other");
82

  
39 83
	String mw = GetExeDirFile("mingw");
40 84
	FindFile ff(mw);
41 85
	if(ff && ff.IsDirectory())
42
		dlg.mingw <<= mw;
86
		mingw.dir <<= mw;
43 87
	else
44
		dlg.mingw <<=
88
		mingw.dir <<=
45 89
			NormalizePathNN(GetWinRegString("Inno Setup: App Path",
46 90
		       "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW_is1"));
47
	if (IsNull(dlg.mingw))
48
		dlg.mingw <<= NormalizePathNN(GetWinRegString("InstallLocation",
91
	if (IsNull(mingw.dir))
92
		mingw.dir <<= NormalizePathNN(GetWinRegString("InstallLocation",
49 93
						"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\TDM-GCC" ));
50
	dlg.mingwmethod <<= "MINGW";
51
	dlg.domingw <<= !IsNull(dlg.mingw);
52

  
94
	mingw.method <<= "MINGW";
95
	mingw.create <<= !IsNull(mingw.dir);
53 96

  
54 97
	String owcdir = GetEnv("WATCOM");
55 98
	if(owcdir.IsEmpty())
56 99
		owcdir = "C:\\WATCOM";
57 100

  
58 101
	if(DirectoryExists(owcdir))
59
		dlg.owc <<= owcdir;
102
		owc.dir <<= owcdir;
60 103

  
61
	dlg.owcmethod <<= "OWC";
62
	dlg.doowc <<= !IsNull(dlg.owc);	
104
	owc.method <<= "OWC";
105
	owc.create <<= !IsNull(owc.dir);	
63 106

  
64 107

  
65 108
	String vs = GetWinRegString("ProductDir", "SOFTWARE\\Microsoft\\VisualStudio\\7.1\\Setup\\VC");
66
	dlg.visualcpp71 <<=
109
	msc7_1.dir <<=
67 110
		NormalizePathNN(
68 111
			Nvl(
69 112
				GetWinRegString("InstallLocation",
......
71 114
	                            "{362882AE-E40A-4435-B214-6420634C401F}"),
72 115
	            vs)
73 116
	    );
74
	dlg.visualcppmethod71 <<= "MSC71";
75
	dlg.dovisualcpp71 <<= !IsNull(dlg.visualcpp71);
117
	msc7_1.method <<= "MSC71";
118
	msc7_1.create <<= !IsNull(msc7_1.dir);
76 119

  
77 120
	String sdk8 = GetWinRegString("InstallationFolder",
78 121
	                             "Software\\Microsoft\\Microsoft SDKs\\Windows\\v6.0",
......
80 123
	String bin8;
81 124
	if(!IsNull(sdk8)) {
82 125
		sdk8 = NormalizePath(sdk8);
83
		dlg.sdk8 <<= sdk8;
84
		dlg.sdk71 <<= sdk8;
85
		dlg.visualcpp8 <<= bin8 = sdk8;
126
		msc8.sdk <<= sdk8;
127
		msc7_1.sdk <<= sdk8;
128
		msc8.dir <<= bin8 = sdk8;
86 129
	}
87 130
	else {
88
		dlg.visualcpp8 <<= bin8 = NormalizePathNN(
131
		msc8.dir <<= bin8 = NormalizePathNN(
89 132
			GetWinRegString("8.0", "SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VS7")
90 133
		);
91
		dlg.sdk8 <<= NormalizePathNN(GetWinRegString("Install Dir", "SOFTWARE\\Microsoft\\MicrosoftSDK\\InstalledSDKs\\8F9E5EF3-A9A5-491B-A889-C58EFFECE8B3"));
134
		msc8.sdk <<= NormalizePathNN(GetWinRegString("Install Dir", "SOFTWARE\\Microsoft\\MicrosoftSDK\\InstalledSDKs\\8F9E5EF3-A9A5-491B-A889-C58EFFECE8B3"));
92 135
	}
93
	dlg.visualcppmethod8 <<= "MSC8";
94
	dlg.dovisualcpp8 <<= !IsNull(dlg.visualcpp8);
136
	msc8.method <<= "MSC8";
137
	msc8.create <<= !IsNull(msc8.dir);
95 138
	if(bin8.GetLength() && FileExists(AppendFileName(bin8, "VC\\Bin\\x64\\cl.exe"))) {
96
		dlg.dovisualcpp8x64 = true;
139
		msc8.create64 = true;
97 140
	}
98
	dlg.visualcppmethod8x64 <<= "MSC8x64";
141
	msc8.method64 <<= "MSC8x64";
99 142
	String sdk9 = NormalizePathNN(GetWinRegString("InstallationFolder",
100 143
		                                       "SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v7.0",
101 144
		                                       HKEY_LOCAL_MACHINE));  
......
113 156
	else
114 157
		ExistProgram(bin9, "Program Files (x86)\\Microsoft Visual Studio 9.0", "VC\\Bin\\cl.exe")
115 158
		|| ExistProgram(bin9, "Program Files\\Microsoft Visual Studio 9.0", "VC\\Bin\\cl.exe");
116
	dlg.sdk9 <<= sdk9;
117
	dlg.visualcpp9 <<= bin9;
118
	dlg.visualcppmethod9 <<= "MSC9";
119
	dlg.dovisualcpp9 <<= !IsNull(dlg.visualcpp9);
159
	msc9.sdk <<= sdk9;
160
	msc9.dir <<= bin9;
161
	msc9.method <<= "MSC9";
162
	msc9.create <<= !IsNull(msc9.dir);
120 163
	String vc9_64 = AppendFileName(bin9, "VC\\Bin\\x64");
121 164
	if(!FileExists(AppendFileName(vc9_64, "cl.exe")))
122 165
		vc9_64 = AppendFileName(bin9, "VC\\Bin\\amd64");
123 166
	if(bin9.GetLength() && FileExists(AppendFileName(vc9_64, "cl.exe")))
124
		dlg.dovisualcpp9x64 = true;
125
	dlg.visualcppmethod9x64 <<= "MSC9x64";
167
		msc8.create64 = true;
168
	msc9.method64 <<= "MSC9x64";
126 169

  
127 170

  
128 171
	String sdk10 = NormalizePathNN(GetWinRegString("InstallationFolder",
129 172
		                                       "SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v7.1",
130 173
		                                       HKEY_LOCAL_MACHINE));
131
	if (IsNull (sdk10))
174
	if (IsNull(sdk10))
132 175
		sdk10 = NormalizePathNN(GetWinRegString("InstallationFolder",
133 176
		                                        "SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v7.0A",
134 177
		                                        HKEY_LOCAL_MACHINE));
......
138 181
	else
139 182
		ExistProgram(bin10, "Program Files (x86)\\Microsoft Visual Studio 10.0", "VC\\Bin\\cl.exe")
140 183
		|| ExistProgram(bin10, "Program Files\\Microsoft Visual Studio 10.0", "VC\\Bin\\cl.exe");
141
	dlg.sdk10 <<= sdk10;
142
	dlg.visualcpp10 <<= bin10;
143
	dlg.visualcppmethod10 <<= "MSC10";
144
	dlg.dovisualcpp10 <<= !IsNull(dlg.visualcpp10);
184
	msc10.sdk <<= sdk10;
185
	msc10.dir <<= bin10;
186
	msc10.method <<= "MSC10";
187
	msc10.create <<= !IsNull(msc10.dir);
145 188
	String vc10_64 = AppendFileName(bin10, "VC\\Bin\\x64");
146 189
	if(!FileExists(AppendFileName(vc10_64, "cl.exe")))
147 190
		vc10_64 = AppendFileName(bin10, "VC\\Bin\\amd64");
148 191
	if(bin10.GetLength() && FileExists(AppendFileName(vc10_64, "cl.exe")))
149
		dlg.dovisualcpp10x64 = true;
150
	dlg.visualcppmethod10x64 <<= "MSC10x64";
192
		msc10.create64 = true;
193
	msc10.method64 <<= "MSC10x64";
151 194

  
152
	dlg.mysql <<= NormalizePathNN(GetWinRegString("Location", "SOFTWARE\\MySQL AB\\MySQL Server 4.1"));
195

  
196
	String sdk11 = NormalizePathNN(GetWinRegString("InstallationFolder",
197
		                                       "SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v8.0",
198
		                                       HKEY_LOCAL_MACHINE));
199
	String bin11;
200
	if(!IsNull(sdk11) && FileExists(AppendFileName(sdk11, "VC\\Bin\\cl.exe")))
201
		bin11 = sdk11;
202
	else
203
		ExistProgram(bin11, "Program Files (x86)\\Microsoft Visual Studio 11.0", "VC\\Bin\\cl.exe")
204
		|| ExistProgram(bin11, "Program Files\\Microsoft Visual Studio 11.0", "VC\\Bin\\cl.exe");
205
	msc11.sdk <<= sdk11;
206
	msc11.dir <<= bin11;
207
	msc11.method <<= "MSC11";
208
	msc11.create <<= !IsNull(msc11.dir);
209
	String vc11_64 = AppendFileName(bin11, "VC\\Bin\\x64");
210
	if(!FileExists(AppendFileName(vc11_64, "cl.exe")))
211
		vc11_64 = AppendFileName(bin11, "VC\\Bin\\x86_amd64");
212
	if(bin11.GetLength() && FileExists(AppendFileName(vc11_64, "cl.exe")))
213
		msc11.create64 = true;
214
	msc11.method64 <<= "MSC11x64";
215

  
216

  
217
	other.mysql <<= NormalizePathNN(GetWinRegString("Location", "SOFTWARE\\MySQL AB\\MySQL Server 4.1"));
153 218

  
154 219
	String sdl = NormalizePathNN(ConfigFile("sdl"));
155 220
	if(DirectoryExists(sdl))
156
		dlg.sdl <<= sdl;
221
		other.sdl <<= sdl;
157 222

  
158 223
	Array< FrameRight<Button> > bd;
159
	DirSel(dlg.mingw, bd.Add());
160
	DirSel(dlg.owc, bd.Add());
161
	DirSel(dlg.visualcpp71, bd.Add());
162
	DirSel(dlg.visualcpp8, bd.Add());
163
	DirSel(dlg.visualcpp9, bd.Add());
164
	DirSel(dlg.visualcpp10, bd.Add());
165
	DirSel(dlg.sdk71, bd.Add());
166
	DirSel(dlg.sdk8, bd.Add());
167
	DirSel(dlg.sdk9, bd.Add());
168
	DirSel(dlg.sdk10, bd.Add());
169
	DirSel(dlg.sdl, bd.Add());
170
	DirSel(dlg.mysql, bd.Add());
224
	DirSel(mingw.dir, bd.Add());
225
	DirSel(owc.dir, bd.Add());
226
	DirSel(msc7_1.dir, bd.Add());
227
	DirSel(msc8.dir, bd.Add());
228
	DirSel(msc9.dir, bd.Add());
229
	DirSel(msc10.dir, bd.Add());
230
	DirSel(msc11.dir, bd.Add());
231
	DirSel(msc7_1.sdk, bd.Add());
232
	DirSel(msc8.sdk, bd.Add());
233
	DirSel(msc9.sdk, bd.Add());
234
	DirSel(msc10.sdk, bd.Add());
235
	DirSel(msc11.sdk, bd.Add());
236
	DirSel(other.sdl, bd.Add());
237
	DirSel(other.mysql, bd.Add());
171 238
	if(dlg.Run() != IDOK)
172 239
		return;
173 240

  
......
177 244
	String include;
178 245
	String lib;
179 246

  
180
	sdl = ~dlg.sdl;
247
	sdl = ~other.sdl;
181 248
	if(!IsNull(sdl)) {
182 249
		exe << ";" << AppendFileName(sdl, "lib");
183 250
		include << ";" << AppendFileName(sdl, "include");
184 251
		lib << ";" << AppendFileName(sdl, "lib");
185 252
	}
186 253

  
187
	String mysql = ~dlg.mysql;
254
	String mysql = ~other.mysql;
188 255
	String mlib;
189 256
	if(!IsNull(mysql)) {
190 257
		exe << ";" << AppendFileName(mysql, "bin");
......
192 259
		mlib << ";" << AppendFileName(mysql, "bin");
193 260
	}
194 261

  
195
	String mingw = ~dlg.mingw;
196
	if(!IsNull(mingw) && dlg.domingw) {
197
		String m = ~dlg.mingwmethod;
262
	String mingwdir = ~mingw.dir;
263
	if(!IsNull(mingwdir) && mingw.create) {
264
		String m = ~mingw.method;
198 265
		SaveFile(
199 266
			AppendFileName(dir, m + ".bm"),
200 267
			"BUILDER = \"GCC\";\n"
......
211 278
			"REMOTE_OS = \"\";\n"
212 279
			"REMOTE_TRANSFER = \"\";\n"
213 280
			"REMOTE_MAP = \"\";\n"
214
			"PATH = " + AsCString(AppendFileName(~dlg.mingw, "bin") + exe) + ";\n"
215
			"INCLUDE = " + AsCString(AppendFileName(~dlg.mingw, "include") + include) + ";\n"
216
			"LIB = " + AsCString(AppendFileName(~dlg.mingw, "lib") + lib + mlib) + ";\n"
281
			"PATH = " + AsCString(AppendFileName(mingwdir, "bin") + exe) + ";\n"
282
			"INCLUDE = " + AsCString(AppendFileName(mingwdir, "include") + include) + ";\n"
283
			"LIB = " + AsCString(AppendFileName(mingwdir, "lib") + lib + mlib) + ";\n"
217 284
		);
218 285
		SaveFile(AppendFileName(dir, "default_method"), m);
219 286
	}
220 287

  
221
	String owc = ~dlg.owc;
222
	if(!IsNull(owc) && dlg.doowc) {
223
		String m = ~dlg.owcmethod;
288
	owcdir = ~owc.dir;
289
	if(!IsNull(owcdir) && owc.create) {
290
		String m = ~owc.method;
224 291
		SaveFile(
225 292
			AppendFileName(dir, m + ".bm"),
226 293
			"BUILDER = \"OWC\";\n"
......
238 305
			"REMOTE_TRANSFER = \"\";\n"
239 306
			"REMOTE_MAP = \"\";\n"
240 307
			"PATH = " + AsCString(
241
				AppendFileName(owc, "binnt") + ';' +
242
				AppendFileName(owc, "binw") +
308
				AppendFileName(owcdir, "binnt") + ';' +
309
				AppendFileName(owcdir, "binw") +
243 310
				exe) + ";\n"
244
			"INCLUDE = " + AsCString(AppendFileName(owc, "h") + ';' +
245
				AppendFileName(owc, "h\\nt") +
311
			"INCLUDE = " + AsCString(AppendFileName(owcdir, "h") + ';' +
312
				AppendFileName(owcdir, "h\\nt") +
246 313
				include) + ";\n"
247
			"LIB = " + AsCString(AppendFileName(owc, "lib386") + ';' +
248
				AppendFileName(owc, "lib386\\nt") +
314
			"LIB = " + AsCString(AppendFileName(owcdir, "lib386") + ';' +
315
				AppendFileName(owcdir, "lib386\\nt") +
249 316
				lib + mlib) + ";\n"
250 317
		);
251 318
		SaveFile(AppendFileName(dir, "default_method"), m);
......
255 322
		lib << ";" << AppendFileName(mysql, "lib");
256 323
	}
257 324

  
258
	String vs10 = ~dlg.visualcpp10;
259
	if(!IsNull(vs10) && dlg.dovisualcpp10x64) {
325
	String vs11 = ~msc11.dir;
326
	if(!IsNull(vs11) && msc11.create64) {
327
		String vc = AppendFileName(vs11, "Vc");
328
		String m = ~msc11.method64;
329
		String sdk = ~msc11.sdk;
330
		if(IsNull(sdk))
331
			sdk = AppendFileName(vc, "PlatformSDK");
332
		String vc_lib = AppendFileName(vc, "Lib\\x64");
333
		if(!DirectoryExists(vc_lib))
334
			vc_lib = AppendFileName(vc, "Lib\\amd64");
335
		SaveFile(
336
			AppendFileName(dir, m + ".bm"),
337
			"BUILDER = \"MSC11X64\";\n"
338
			"DEBUG_INFO = \"2\";\n"
339
			"DEBUG_BLITZ = \"1\";\n"
340
			"DEBUG_LINKMODE = \"0\";\n"
341
			"DEBUG_OPTIONS = \"-Od\";\n"
342
			"RELEASE_BLITZ = \"0\";\n"
343
			"RELEASE_LINKMODE = \"0\";\n"
344
			"RELEASE_OPTIONS = \"-O1 -GS-\";\n"
345
			"RELEASE_SIZE_OPTIONS = \"-O1 -GS-\";\n"
346
			"DEBUGGER = \"\";\n"
347
			"REMOTE_HOST = \"\";\n"
348
			"REMOTE_OS = \"\";\n"
349
			"REMOTE_TRANSFER = \"\";\n"
350
			"REMOTE_MAP = \"\";\n"
351
			"PATH = " + AsCString(
352
			                AppendFileName(vs11, "Common7\\Ide") + ';' +
353
							vc11_64 + ';' +
354
							AppendFileName(sdk, "Bin") +
355
							exe
356
						) + ";\n"
357
			"INCLUDE = " + AsCString(
358
							AppendFileName(vc, "Include") + ';' +
359
							AppendFileName(sdk, "Include") +
360
							include
361
						   ) + ";\n"
362
			"LIB = " + AsCString(
363
							vc_lib + ';' +
364
							AppendFileName(sdk, "Lib\\x64") +
365
							lib
366
			           ) + ";\n"
367
		);
368
		SaveFile(AppendFileName(dir, "default_method"), m);
369
	}
370

  
371
	if(!IsNull(vs11) && msc11.create) {
372
		String vc = AppendFileName(vs11, "Vc");
373
		String m = ~msc11.method;
374
		String sdk = ~msc11.sdk;
375
		if(IsNull(sdk))
376
			sdk = AppendFileName(vc, "PlatformSDK");
377
		SaveFile(
378
			AppendFileName(dir, m + ".bm"),
379
			"BUILDER = \"MSC11\";\n"
380
			"DEBUG_INFO = \"2\";\n"
381
			"DEBUG_BLITZ = \"1\";\n"
382
			"DEBUG_LINKMODE = \"0\";\n"
383
			"DEBUG_OPTIONS = \"-Od\";\n"
384
			"RELEASE_BLITZ = \"0\";\n"
385
			"RELEASE_LINKMODE = \"0\";\n"
386
			"RELEASE_OPTIONS = \"-O2 -GS-\";\n"
387
			"RELEASE_SIZE_OPTIONS = \"-O1 -GS-\";\n"
388
			"DEBUGGER = \"\";\n"
389
			"REMOTE_HOST = \"\";\n"
390
			"REMOTE_OS = \"\";\n"
391
			"REMOTE_TRANSFER = \"\";\n"
392
			"REMOTE_MAP = \"\";\n"
393
			"PATH = " + AsCString(
394
			                AppendFileName(vs11, "Common7\\Ide") + ';' +
395
							AppendFileName(vc, "Bin") + ';' +
396
							AppendFileName(sdk, "Bin") +
397
							exe
398
						) + ";\n"
399
			"INCLUDE = " + AsCString(
400
							AppendFileName(vc, "Include") + ';' +
401
							AppendFileName(sdk, "Include") +
402
							include
403
						   ) + ";\n"
404
			"LIB = " + AsCString(
405
							AppendFileName(vc, "Lib") + ';' +
406
							AppendFileName(sdk, "Lib") +
407
							lib
408
			           ) + ";\n"
409
		);
410
		SaveFile(AppendFileName(dir, "default_method"), m);
411
	}
412

  
413
	String vs10 = ~msc10.dir;
414
	if(!IsNull(vs10) && msc10.create64) {
260 415
		String vc = AppendFileName(vs10, "Vc");
261
		String m = ~dlg.visualcppmethod10x64;
262
		String sdk = ~dlg.sdk10;
416
		String m = ~msc10.method64;
417
		String sdk = ~msc10.sdk;
263 418
		if(IsNull(sdk))
264 419
			sdk = AppendFileName(vc, "PlatformSDK");
265 420
		String vc_lib = AppendFileName(vc, "Lib\\x64");
......
301 456
		SaveFile(AppendFileName(dir, "default_method"), m);
302 457
	}
303 458

  
304
	if(!IsNull(vs10) && dlg.dovisualcpp10) {
459
	if(!IsNull(vs10) && msc10.create) {
305 460
		String vc = AppendFileName(vs10, "Vc");
306
		String m = ~dlg.visualcppmethod10;
307
		String sdk = ~dlg.sdk10;
461
		String m = ~msc10.method;
462
		String sdk = ~msc10.sdk;
308 463
		if(IsNull(sdk))
309 464
			sdk = AppendFileName(vc, "PlatformSDK");
310 465
		SaveFile(
......
343 498
		SaveFile(AppendFileName(dir, "default_method"), m);
344 499
	}
345 500

  
346
	String vs9 = ~dlg.visualcpp9;
347
	if(!IsNull(vs9) && dlg.dovisualcpp9x64) {
501
	String vs9 = ~msc9.dir;
502
	if(!IsNull(vs9) && msc9.create64) {
348 503
		String vc = AppendFileName(vs9, "Vc");
349
		String m = ~dlg.visualcppmethod9x64;
350
		String sdk = ~dlg.sdk9;
504
		String m = ~msc9.method64;
505
		String sdk = ~msc9.sdk;
351 506
		if(IsNull(sdk))
352 507
			sdk = AppendFileName(vc, "PlatformSDK");
353 508
		String vc_lib = AppendFileName(vc, "Lib\\x64");
......
389 544
		SaveFile(AppendFileName(dir, "default_method"), m);
390 545
	}
391 546

  
392
	if(!IsNull(vs9) && dlg.dovisualcpp9) {
547
	if(!IsNull(vs9) && msc9.create) {
393 548
		String vc = AppendFileName(vs9, "Vc");
394
		String m = ~dlg.visualcppmethod9;
395
		String sdk = ~dlg.sdk9;
549
		String m = ~msc9.method;
550
		String sdk = ~msc9.sdk;
396 551
		if(IsNull(sdk))
397 552
			sdk = AppendFileName(vc, "PlatformSDK");
398 553
		SaveFile(
......
431 586
		SaveFile(AppendFileName(dir, "default_method"), m);
432 587
	}
433 588

  
434
	String vs8 = ~dlg.visualcpp8;
435
	if(!IsNull(vs8) && dlg.dovisualcpp8x64) {
589
	String vs8 = ~msc8.dir;
590
	if(!IsNull(vs8) && msc8.create64) {
436 591
		String vc = AppendFileName(vs8, "Vc");
437
		String m = ~dlg.visualcppmethod8x64;
438
		String sdk = ~dlg.sdk8;
592
		String m = ~msc8.method64;
593
		String sdk = ~msc8.sdk;
439 594
		if(IsNull(sdk))
440 595
			sdk = AppendFileName(vc, "PlatformSDK");
441 596
		SaveFile(
......
474 629
		SaveFile(AppendFileName(dir, "default_method"), m);
475 630
	}
476 631

  
477
	if(!IsNull(vs8) && dlg.dovisualcpp8) {
632
	if(!IsNull(vs8) && msc8.create) {
478 633
		String vc = AppendFileName(vs8, "Vc");
479
		String m = ~dlg.visualcppmethod8;
480
		String sdk = ~dlg.sdk8;
634
		String m = ~msc8.method;
635
		String sdk = ~msc8.sdk;
481 636
		if(IsNull(sdk8))
482 637
			sdk = AppendFileName(vc, "PlatformSDK");
483 638
		SaveFile(
......
516 671
		SaveFile(AppendFileName(dir, "default_method"), m);
517 672
	}
518 673

  
519
	String vc7 = ~dlg.visualcpp71;
674
	String vc7 = ~msc7_1.dir;
520 675
	if(PathIsEqual(vc7, vs))
521 676
		vs = AppendFileName(GetFileFolder(NormalizePath(vs)), "Common7\\ide") + ";";
522 677
	else
523 678
		vs.Clear();
524
	if(!IsNull(vc7) && dlg.dovisualcpp71) {
525
		String m = ~dlg.visualcppmethod71;
526
		String sdk = ~dlg.sdk71;
679
	if(!IsNull(vc7) && msc7_1.create) {
680
		String m = ~msc7_1.method;
681
		String sdk = ~msc7_1.sdk;
527 682
		if(IsNull(sdk))
528 683
			sdk = AppendFileName(vc7, "PlatformSDK");
529 684
		SaveFile(
uppsrc/ide/Builders/MscBuilder.icpp 2013-05-27 01:25:33 +0400
103 103

  
104 104
bool MscBuilder::IsMsc86() const
105 105
{
106
	return HasFlag("MSC8") || HasFlag("MSC9") || HasFlag("MSC10");
106
	return HasFlag("MSC8") || HasFlag("MSC9") || HasFlag("MSC10") || HasFlag("MSC11");
107 107
}
108 108

  
109 109
bool MscBuilder::IsMscArm() const
......
113 113

  
114 114
bool MscBuilder::IsMsc64() const
115 115
{
116
	return HasFlag("MSC8X64") || HasFlag("MSC9X64") || HasFlag("MSC10X64");
116
	return HasFlag("MSC8X64") || HasFlag("MSC9X64") || HasFlag("MSC10X64") || HasFlag("MSC11X64");
117 117
}
118 118

  
119 119
String MscBuilder::LinkerName() const
......
372 372
			IdeConsoleEndGroup();
373 373
			return false;
374 374
		}
375
		bool isgemsc10 = HasFlag("MSC10") || HasFlag("MSC10X64") || HasFlag("MSC11") || HasFlag("MSC11X64");
375 376
		Vector<Host::FileInfo> objinfo = host->GetFileInfo(obj);
376 377
		for(int i = 0; i < obj.GetCount(); i++)
377 378
			if(objinfo[i] > producttime) {
......
381 382
					lib << "-machine:" << MachineName()
382 383
						<< " -pdb:" << GetHostPathQ(ForceExt(product, ".pdb"))
383 384
						<< " -out:" << GetHostPathQ(product);
384
					if(!HasFlag("MSC10") && !HasFlag("MSC10X64"))
385
					if(!isgemsc10)
385 386
						lib << " -incremental:no";
386 387
					if(HasFlag("FORCE_SIZE")){
387 388
						if(sContainsPchOptions(release_size_options))
......
516 517
	int time = GetTickCount();
517 518
	if(!Wait())
518 519
		return false;
520
	bool isgemsc10 = HasFlag("MSC10") || HasFlag("MSC10X64") || HasFlag("MSC11") || HasFlag("MSC11X64");
519 521
	for(int i = 0; i < linkfile.GetCount(); i++)
520 522
		if(GetFileTime(linkfile[i]) >= targettime) {
521 523
			String link;
......
530 532
			if(HasFlag("FORCE_SPEED"))
531 533
				if(sContainsPchOptions(release_options))
532 534
					link << " -ltcg";
533
			if(!HasFlag("MSC10") && !HasFlag("MSC10X64"))
535
			if(!isgemsc10)
534 536
				if(HasAnyDebug())
535 537
					link << " -incremental:yes -debug -OPT:NOREF";
536 538
				else
......
605 607
	RegisterBuilder("MSC9X64", CreateMscBuilder);
606 608
	RegisterBuilder("MSC10", CreateMscBuilder);
607 609
	RegisterBuilder("MSC10X64", CreateMscBuilder);
610
	RegisterBuilder("MSC11", CreateMscBuilder);
611
	RegisterBuilder("MSC11X64", CreateMscBuilder);
608 612
	RegisterBuilder("MSC9ARM", CreateMscBuilder);
609 613
	RegisterBuilder("EVC_ARM", CreateMscBuilder);
610 614
	RegisterBuilder("EVC_MIPS", CreateMscBuilder);
uppsrc/ide/ide.lay 2013-05-27 08:03:37 +0400
265 265
	ITEM(Button, ok, SetLabel(t_("Continue")).RightPosZ(8, 64).BottomPosZ(8, 24))
266 266
END_LAYOUT
267 267

  
268
LAYOUT(AutoSetupLayout, 612, 504)
269
	ITEM(LabelBox, dv___0, SetLabel(t_("Visual C++")).LeftPosZ(4, 600).TopPosZ(4, 308))
270
	ITEM(Option, dovisualcpp10, SetLabel(t_("Create Visual C++ 10.0 build method")).LeftPosZ(12, 200).TopPosZ(24, 15))
271
	ITEM(EditString, visualcppmethod10, LeftPosZ(216, 72).TopPosZ(22, 19))
272
	ITEM(Option, dovisualcpp10x64, SetLabel(t_("Create VC++ 10.0 x64 build method")).LeftPosZ(12, 200).TopPosZ(48, 15))
273
	ITEM(EditString, visualcppmethod10x64, LeftPosZ(216, 72).TopPosZ(46, 19))
274
	ITEM(Label, dv___5, SetLabel(t_("Visual C++ 10.0 directory")).LeftPosZ(12, 276).TopPosZ(68, 19))
275
	ITEM(EditString, visualcpp10, LeftPosZ(12, 276).TopPosZ(88, 19))
276
	ITEM(Label, dv___7, SetLabel(t_("Win32 SDK for Visual C++ 10.0 directory")).LeftPosZ(12, 276).TopPosZ(112, 19))
277
	ITEM(EditString, sdk10, LeftPosZ(12, 276).TopPosZ(132, 19))
278
	ITEM(LabelBox, dv___9, LeftPosZ(8, 284).TopPosZ(156, 8))
279
	ITEM(Option, dovisualcpp9, SetLabel(t_("Create Visual C++ 9.0 build method")).LeftPosZ(12, 200).TopPosZ(176, 15))
280
	ITEM(EditString, visualcppmethod9, LeftPosZ(216, 72).TopPosZ(174, 19))
281
	ITEM(Option, dovisualcpp9x64, SetLabel(t_("Create VC++ 9.0 x64 build method")).LeftPosZ(12, 200).TopPosZ(200, 15))
282
	ITEM(EditString, visualcppmethod9x64, LeftPosZ(216, 72).TopPosZ(198, 19))
283
	ITEM(Label, dv___14, SetLabel(t_("Visual C++ 9.0 directory")).LeftPosZ(12, 276).TopPosZ(220, 19))
284
	ITEM(EditString, visualcpp9, LeftPosZ(12, 276).TopPosZ(240, 19))
285
	ITEM(Label, dv___16, SetLabel(t_("Win32 SDK for Visual C++ 9.0 directory")).LeftPosZ(12, 276).TopPosZ(264, 19))
286
	ITEM(EditString, sdk9, LeftPosZ(12, 276).TopPosZ(284, 19))
287
	ITEM(LabelBox, dv___18, LeftPosZ(300, 4).TopPosZ(8, 296))
288
	ITEM(Option, dovisualcpp8, SetLabel(t_("Create Visual C++ 8.0 build method")).LeftPosZ(316, 200).TopPosZ(24, 15))
289
	ITEM(EditString, visualcppmethod8, LeftPosZ(520, 72).TopPosZ(22, 19))
290
	ITEM(Option, dovisualcpp8x64, SetLabel(t_("Create VC++ 8.0 x64 build method")).LeftPosZ(316, 200).TopPosZ(48, 15))
291
	ITEM(EditString, visualcppmethod8x64, LeftPosZ(520, 72).TopPosZ(46, 19))
292
	ITEM(Label, dv___23, SetLabel(t_("Visual C++ 8.0 directory")).LeftPosZ(316, 276).TopPosZ(68, 19))
293
	ITEM(EditString, visualcpp8, LeftPosZ(316, 276).TopPosZ(88, 19))
294
	ITEM(Label, dv___25, SetLabel(t_("Win32 SDK for Visual C++ 8.0 directory")).LeftPosZ(316, 276).TopPosZ(112, 19))
295
	ITEM(EditString, sdk8, LeftPosZ(316, 276).TopPosZ(132, 19))
296
	ITEM(LabelBox, dv___27, LeftPosZ(312, 284).TopPosZ(156, 8))
297
	ITEM(Option, dovisualcpp71, SetLabel(t_("Create Visual C++ 7.1 build method")).LeftPosZ(316, 200).TopPosZ(172, 15))
298
	ITEM(EditString, visualcppmethod71, LeftPosZ(520, 72).TopPosZ(170, 19))
299
	ITEM(Label, dv___30, SetLabel(t_("Visual C++ 7.1 directory")).LeftPosZ(316, 276).TopPosZ(192, 19))
300
	ITEM(EditString, visualcpp71, LeftPosZ(316, 276).TopPosZ(212, 19))
301
	ITEM(Label, dv___32, SetLabel(t_("Win32 SDK for Visual C++ 7.1 directory")).LeftPosZ(316, 272).TopPosZ(236, 19))
302
	ITEM(EditString, sdk71, LeftPosZ(316, 276).TopPosZ(256, 19))
303
	ITEM(Button, ok, SetLabel(t_("OK")).LeftPosZ(472, 64).TopPosZ(472, 24))
304
	ITEM(Button, cancel, SetLabel(t_("Cancel")).LeftPosZ(540, 64).TopPosZ(472, 24))
305
	ITEM(LabelBox, dv___36, SetLabel(t_("MinGW")).LeftPosZ(4, 292).TopPosZ(320, 88))
306
	ITEM(Option, domingw, SetLabel(t_("Create MinGW build method")).LeftPosZ(12, 172).TopPosZ(338, 15))
307
	ITEM(EditString, mingwmethod, LeftPosZ(216, 72).TopPosZ(336, 19))
308
	ITEM(EditString, mingw, LeftPosZ(12, 276).TopPosZ(380, 19))
309
	ITEM(Label, dv___40, SetLabel(t_("MinGW compiler system directory")).LeftPosZ(12, 276).TopPosZ(360, 19))
310
	ITEM(Label, dv___41, SetLabel(t_("SDL directory")).LeftPosZ(304, 96).TopPosZ(324, 19))
311
	ITEM(EditString, sdl, LeftPosZ(304, 300).TopPosZ(344, 19))
312
	ITEM(Label, dv___43, SetLabel(t_("MySql directory")).LeftPosZ(304, 96).TopPosZ(368, 19))
313
	ITEM(EditString, mysql, LeftPosZ(304, 300).TopPosZ(388, 19))
314
	ITEM(LabelBox, dv___45, SetLabel(t_("Open Watcom")).LeftPosZ(4, 292).TopPosZ(416, 80))
315
	ITEM(Option, doowc, SetLabel(t_("Create Open Watcom build method")).LeftPosZ(12, 204).TopPosZ(432, 16))
316
	ITEM(EditString, owcmethod, HSizePosZ(216, 324).TopPosZ(432, 19))
317
	ITEM(Label, dv___48, SetLabel(t_("Open Watcom compiler system directory")).LeftPosZ(12, 276).TopPosZ(452, 20))
318
	ITEM(EditString, owc, LeftPosZ(12, 276).TopPosZ(472, 19))
268
LAYOUT(AutoSetupLayout, 320, 240)
269
	ITEM(TabCtrl, tab, HSizePosZ(0, 0).VSizePosZ(0, 28))
270
	ITEM(Button, ok, SetLabel(t_("OK")).RightPosZ(64, 56).BottomPosZ(4, 20))
271
	ITEM(Button, cancel, SetLabel(t_("Cancel")).RightPosZ(4, 56).BottomPosZ(4, 20))
272
END_LAYOUT
273

  
274
LAYOUT(AutoSetupMSC11, 276, 132)
275
	ITEM(Option, create, SetLabel(t_("Create Visual C++ 11.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++ 11.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++ 11.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++ 11.0 directory")).LeftPosZ(0, 276).TopPosZ(92, 19))
282
	ITEM(EditString, sdk, HSizePosZ(0, 0).TopPosZ(112, 19))
283
END_LAYOUT
284

  
285
LAYOUT(AutoSetupMSC10, 276, 132)
286
	ITEM(Option, create, SetLabel(t_("Create Visual C++ 10.0 build method")).LeftPosZ(0, 200).TopPosZ(4, 15))
287
	ITEM(EditString, method, HSizePosZ(204, 0).TopPosZ(2, 19))
288
	ITEM(Option, create64, SetLabel(t_("Create VC++ 10.0 x64 build method")).LeftPosZ(0, 200).TopPosZ(28, 15))
289
	ITEM(EditString, method64, HSizePosZ(204, 0).TopPosZ(26, 19))
290
	ITEM(Label, dv___4, SetLabel(t_("Visual C++ 10.0 directory")).LeftPosZ(0, 276).TopPosZ(48, 19))
291
	ITEM(EditString, dir, HSizePosZ(0, 0).TopPosZ(68, 19))
292
	ITEM(Label, dv___6, SetLabel(t_("Win32 SDK for Visual C++ 10.0 directory")).LeftPosZ(0, 276).TopPosZ(92, 19))
293
	ITEM(EditString, sdk, HSizePosZ(0, 0).TopPosZ(112, 19))
294
END_LAYOUT
295

  
296
LAYOUT(AutoSetupMSC9, 276, 132)
297
	ITEM(Option, create, SetLabel(t_("Create Visual C++ 9.0 build method")).LeftPosZ(0, 200).TopPosZ(4, 15))
298
	ITEM(EditString, method, HSizePosZ(204, 0).TopPosZ(2, 19))
299
	ITEM(Option, create64, SetLabel(t_("Create VC++ 9.0 x64 build method")).LeftPosZ(0, 200).TopPosZ(28, 15))
300
	ITEM(EditString, method64, HSizePosZ(204, 0).TopPosZ(26, 19))
301
	ITEM(Label, dv___4, SetLabel(t_("Visual C++ 9.0 directory")).LeftPosZ(0, 276).TopPosZ(48, 19))
302
	ITEM(EditString, dir, HSizePosZ(0, 0).TopPosZ(68, 19))
303
	ITEM(Label, dv___6, SetLabel(t_("Win32 SDK for Visual C++ 9.0 directory")).LeftPosZ(0, 276).TopPosZ(92, 19))
304
	ITEM(EditString, sdk, HSizePosZ(0, 0).TopPosZ(112, 19))
305
END_LAYOUT
306

  
307
LAYOUT(AutoSetupMSC8, 276, 132)
308
	ITEM(Option, create, SetLabel(t_("Create Visual C++ 8.0 build method")).LeftPosZ(0, 200).TopPosZ(4, 15))
309
	ITEM(EditString, method, HSizePosZ(204, 0).TopPosZ(2, 19))
310
	ITEM(Option, create64, SetLabel(t_("Create VC++ 8.0 x64 build method")).LeftPosZ(0, 200).TopPosZ(28, 15))
311
	ITEM(EditString, method64, HSizePosZ(204, 0).TopPosZ(26, 19))
312
	ITEM(Label, dv___4, SetLabel(t_("Visual C++ 8.0 directory")).LeftPosZ(0, 276).TopPosZ(48, 19))
313
	ITEM(EditString, dir, HSizePosZ(0, 0).TopPosZ(68, 19))
314
	ITEM(Label, dv___6, SetLabel(t_("Win32 SDK for Visual C++ 8.0 directory")).LeftPosZ(0, 276).TopPosZ(92, 19))
315
	ITEM(EditString, sdk, HSizePosZ(0, 0).TopPosZ(112, 19))
316
END_LAYOUT
317

  
318
LAYOUT(AutoSetupMSC7_1, 276, 108)
319
	ITEM(Option, create, SetLabel(t_("Create Visual C++ 7.1 build method")).LeftPosZ(0, 200).TopPosZ(4, 15))
320
	ITEM(EditString, method, HSizePosZ(204, 0).TopPosZ(2, 19))
321
	ITEM(Label, dv___2, SetLabel(t_("Visual C++ 7.1 directory")).LeftPosZ(0, 276).TopPosZ(24, 19))
322
	ITEM(EditString, dir, HSizePosZ(0, 0).TopPosZ(44, 19))
323
	ITEM(Label, dv___4, SetLabel(t_("Win32 SDK for Visual C++ 7.1 directory")).LeftPosZ(0, 276).TopPosZ(68, 19))
324
	ITEM(EditString, sdk, HSizePosZ(0, 0).TopPosZ(88, 19))
325
END_LAYOUT
326

  
327
LAYOUT(AutoSetupMinGW, 276, 64)
328
	ITEM(Option, create, SetLabel(t_("Create MinGW build method")).LeftPosZ(0, 200).TopPosZ(4, 15))
329
	ITEM(EditString, method, HSizePosZ(204, 0).TopPosZ(2, 19))
330
	ITEM(Label, dv___2, SetLabel(t_("MinGW compiler system directory")).LeftPosZ(0, 276).TopPosZ(24, 19))
331
	ITEM(EditString, dir, HSizePosZ(0, 0).TopPosZ(44, 19))
332
END_LAYOUT
333

  
334
LAYOUT(AutoSetupOWC, 276, 64)
335
	ITEM(Option, create, SetLabel(t_("Create Open Watcom build method")).LeftPosZ(0, 200).TopPosZ(4, 15))
336
	ITEM(EditString, method, HSizePosZ(204, 0).TopPosZ(2, 19))
337
	ITEM(Label, dv___2, SetLabel(t_("Open Watcom compiler system directory")).LeftPosZ(0, 276).TopPosZ(24, 19))
338
	ITEM(EditString, dir, HSizePosZ(0, 0).TopPosZ(44, 19))
339
END_LAYOUT
340

  
341
LAYOUT(AutoSetupOther, 276, 84)
342
	ITEM(Label, dv___0, SetLabel(t_("SDL directory")).LeftPosZ(0, 276).TopPosZ(0, 19))
343
	ITEM(EditString, sdl, HSizePosZ(0, 0).TopPosZ(20, 19))
344
	ITEM(Label, dv___2, SetLabel(t_("MySql directory")).LeftPosZ(0, 276).TopPosZ(44, 19))
345
	ITEM(EditString, mysql, HSizePosZ(0, 0).TopPosZ(64, 19))
319 346
END_LAYOUT
320 347

  
321 348
LAYOUT(LangLayout, 716, 480)