51 int versionMinor = versionView.
mid(
idx + 1).
toInt();
53 if (versionMajor == 17)
55 if (versionMajor == 16)
57 if (versionMajor == 15)
59 if (versionMajor == 14)
61 if (versionMajor == 12)
63 if (versionMajor == 11)
65 if (versionMajor == 10)
67 if (versionMajor == 9)
69 if (versionMajor == 8)
71 if (versionMajor == 7) {
72 if (versionMinor == 0)
74 if (versionMinor == 1)
333 static QString vcCommandSeparator()
340 QLatin1String(
"
if errorlevel 1 goto VCReportError
");
344 static void unknownOptionWarning(
const char *tool,
const char *
option)
346 static bool firstCall =
true;
351 "You can suppress these warnings with CONFIG+=suppress_vcproj_warnings.");
361 BufferSecurityCheck(
unset),
365 CompileAsWinRT(
unset),
368 Detect64BitPortabilityProblems(
unset),
369 DisableLanguageExtensions(
unset),
371 EnableFiberSafeOptimizations(
unset),
372 EnableFunctionLevelLinking(
unset),
373 EnableIntrinsicFunctions(
unset),
375 ExpandAttributedSource(
unset),
378 FloatingPointExceptions(
unset),
379 ForceConformanceInForLoopScope(
unset),
381 PreprocessSuppressLineNumbers(
unset),
382 GlobalOptimizations(
unset),
383 IgnoreStandardIncludePath(
unset),
384 ImproveFloatingPointConsistency(
unset),
387 MinimalRebuild(
unset),
388 OmitDefaultLibName(
unset),
389 OmitFramePointers(
unset),
393 OptimizeForWindowsApplication(
unset),
394 ProgramDataBaseFileName(
""),
396 RuntimeTypeInfo(
unset),
398 SmallerTypeCheck(
unset),
399 StringPooling(
unset),
401 SuppressStartupBanner(
unset),
402 TreatWChar_tAsBuiltInType(
unset),
403 TurnOffAssemblyGeneration(
unset),
404 UndefineAllPreprocessorDefinitions(
unset),
406 UseUnicodeForAssemblerListing(
unset),
409 WholeProgramOptimization(
unset),
411 InterworkCalls(
unset),
412 EnablePREfast(
unset),
413 DisplayFullPaths(
unset),
414 MultiProcessorCompilation(
unset),
415 GenerateXMLDocumentationFiles(
unset),
416 CreateHotpatchableImage(
unset)
435 if (compilerVersion >=
NET2005) {
447 if (compilerVersion >=
NET2005)
465 if(second ==
'o' && third ==
't' && fourth ==
'p') {
469 qWarning(
"Generator: Option '/?', '/help': MSVC.NET projects do not support outputting help info");
473 qWarning(
"Generator: Option '/@': MSVC.NET projects do not support the use of a response file");
477 qWarning(
"Generator: Option '/link': qmake generator does not support passing link options through the compiler tool");
482 found =
false;
break;
495 if (
opt.contains(
'a') && !
opt.contains(
's') && !
opt.contains(
'c'))
497 else if (!
opt.contains(
'a') &&
opt.contains(
"s-") &&
opt.contains(
"c-"))
499 else if (!
opt.contains(
'a') &&
opt.contains(
's') &&
opt.contains(
'c'))
513 }
else if (second ==
'P') {
519 if(second <= '9' && second >=
'0') {
529 }
else if(third ==
's') {
531 }
else if (third ==
'u') {
584 found =
false;
break;
592 qWarning(
"Option '/G3' and '/G4' were phased out in Visual C++ 5.0");
593 found =
false;
break;
667 found =
false;
break;
684 found =
false;
break;
691 }
else if(second ==
'L') {
696 }
else if(second ==
'T') {
701 }
else if (second ==
'P') {
708 warn_msg(
WarnLogic,
"/MP option is not supported in Visual C++ < 2005, ignoring.");
712 found =
false;
break;
727 else if(third ==
'1')
729 else if(third ==
'2')
766 found =
false;
break;
776 }
else if (second ==
'R') {
778 if (
opt ==
"interwork-return") {
781 }
else if (
opt ==
"arch4") {
784 }
else if (
opt ==
"arch5") {
787 }
else if (
opt ==
"arch4T") {
790 }
else if (
opt ==
"arch5T") {
794 }
else if (second ==
'M') {
796 if (
opt ==
"mips1") {
800 else if (
opt ==
"mips2") {
804 else if (
opt ==
"mips3") {
808 else if (
opt ==
"mips4") {
812 else if (
opt ==
"mips5") {
816 else if (
opt ==
"mips16") {
820 else if (
opt ==
"mips32") {
824 else if (
opt ==
"mips64") {
829 found =
false;
break;
831 if(second ==
'T' && third ==
'C') {
834 if (!parseRuntimeCheckOption(
option[
i], &rtc)) {
845 }
else if(second ==
'P') {
848 qWarning(
"Generator: Options '/Tp<filename>' and '/Tc<filename>' are not supported by qmake");
849 found =
false;
break;
883 if(third ==
'6' && fourth ==
'4') {
894 found =
false;
break;
923 found =
false;
break;
953 while ( *
c !=
'\0' && *
c !=
' ' && *
c !=
'-')
957 else if(fourth ==
'w')
962 found =
false;
break;
989 found =
false;
break;
999 found =
false;
break;
1003 if (second ==
'r' && third ==
'c' && fourth ==
'h') {
1006 if (
o[6] ==
'S' &&
o[7] ==
'S' &&
o[8] ==
'E') {
1011 }
else if (second ==
'n' && third ==
'a' && fourth ==
'l') {
1018 if (second ==
'i' && third ==
'g' && fourth ==
'o') {
1020 if (
o[5] ==
'b' &&
o[6] ==
'j') {
1028 if(second ==
'\0') {
1030 }
else if(second ==
'l') {
1035 }
else if(*(
option+5) ==
'p') {
1038 }
else if(*(
option+5) ==
's') {
1041 }
else if(*(
option+5) ==
'o') {
1044 }
else if(*(
option+5) ==
'i') {
1054 }
else if(*(
option+5) ==
'p') {
1056 }
else if(*(
option+5) ==
's') {
1058 }
else if(*(
option+5) ==
'o') {
1060 }
else if(*(
option+5) ==
'i') {
1068 found =
false;
break;
1072 if (second ==
'r') {
1075 }
else if (second !=
'o' && third ==
'c') {
1083 if (second ==
'r' && third ==
'r' && fourth ==
'o') {
1085 if (
option[13] ==
'n') {
1087 }
else if (
option[13] ==
'p') {
1089 }
else if (
option[13] ==
'q') {
1091 }
else if (
option[13] ==
's') {
1102 if(second ==
'p' && third ==
':') {
1105 while (*
c !=
'\0' && *
c !=
' ' && *
c !=
'-')
1127 if(second ==
'o' && third ==
'B' && fourth ==
'o') {
1131 if(second ==
'o' && third ==
'l' && fourth ==
'o') {
1135 found =
false;
break;
1144 }
else if (
str[5] ==
'-') {
1149 found =
false;
break;
1152 if(second ==
'h' && third ==
'o' && fourth ==
'w') {
1156 if (
strlen(
option) > 7 && second ==
't' && third ==
'd' && fourth ==
':') {
1163 auto lang =
m.capturedView(1);
1174 knownVersions = &knownCxxVersions;
1175 valuePrefix =
"stdcpp";
1183 knownVersions = &knownCVersions;
1184 valuePrefix =
"stdc";
1186 if (
var && knownVersions->contains(
version)) {
1192 found =
false;
break;
1202 if(second ==
'd' || second ==
'm') {
1206 found =
false;
break;
1230 if (!
config->suppressUnknownOptionWarnings)
1231 unknownOptionWarning(
"Compiler",
option);
1237 bool VCCLCompilerTool::parseRuntimeCheckOption(
char c,
int *rtc)
1254 : DataExecutionPrevention(
unset),
1256 GenerateDebugInformation(
unset),
1258 GenerateMapFile(
unset),
1260 HeapReserveSize(-1),
1261 IgnoreAllDefaultLibraries(
unset),
1262 IgnoreEmbeddedIDL(
unset),
1263 IgnoreImportLibrary(
_True),
1264 ImageHasSafeExceptionHandlers(
unset),
1273 RandomizedBaseAddress(
unset),
1274 RegisterOutput(
unset),
1275 ResourceOnlyDLL(
unset),
1278 StackCommitSize(-1),
1279 StackReserveSize(-1),
1281 SupportUnloadOfDelayLoadedDLL(
unset),
1282 SuppressStartupBanner(
unset),
1283 SwapRunFromCD(
unset),
1284 SwapRunFromNet(
unset),
1287 TreatWarningsAsErrors(
unset),
1288 TurnOffAssemblyGeneration(
unset),
1289 TypeLibraryResourceID(0),
1290 GenerateManifest(
unset),
1293 SectionAlignment(-1),
1294 PreventDllBinding(
unset),
1295 AllowIsolation(
unset),
1296 AssemblyDebug(
unset),
1297 CLRUnmanagedCodeCheck(
unset),
1299 GenerateWindowsMetadata(
unset)
1306 static uint elfHash(
const char*
name)
1318 h = (
h << 4) + *k++;
1319 if((
g = (
h & 0xf0000000)) != 0)
1330 #ifdef USE_DISPLAY_HASH
1331 static void displayHash(
const char*
str)
1333 printf(
"case 0x%07x: // %s\n break;\n", elfHash(
str),
str);
1339 #ifdef USE_DISPLAY_HASH
1341 displayHash(
"/ALIGN"); displayHash(
"/ALLOWBIND"); displayHash(
"/ASSEMBLYMODULE");
1342 displayHash(
"/ASSEMBLYRESOURCE"); displayHash(
"/BASE"); displayHash(
"/DEBUG");
1343 displayHash(
"/DEF"); displayHash(
"/DEFAULTLIB"); displayHash(
"/DELAY");
1344 displayHash(
"/DELAYLOAD"); displayHash(
"/DLL"); displayHash(
"/DRIVER");
1345 displayHash(
"/ENTRY"); displayHash(
"/EXETYPE"); displayHash(
"/EXPORT");
1346 displayHash(
"/FIXED"); displayHash(
"/FORCE"); displayHash(
"/HEAP");
1347 displayHash(
"/IDLOUT"); displayHash(
"/IGNORE"); displayHash(
"/IGNOREIDL"); displayHash(
"/IMPLIB");
1348 displayHash(
"/INCLUDE"); displayHash(
"/INCREMENTAL"); displayHash(
"/LARGEADDRESSAWARE");
1349 displayHash(
"/LIBPATH"); displayHash(
"/LTCG"); displayHash(
"/MACHINE");
1350 displayHash(
"/MAP"); displayHash(
"/MAPINFO"); displayHash(
"/MERGE");
1351 displayHash(
"/MIDL"); displayHash(
"/NOASSEMBLY"); displayHash(
"/NODEFAULTLIB");
1352 displayHash(
"/NOENTRY"); displayHash(
"/NOLOGO"); displayHash(
"/OPT");
1353 displayHash(
"/ORDER"); displayHash(
"/OUT"); displayHash(
"/PDB");
1354 displayHash(
"/PDBSTRIPPED"); displayHash(
"/RELEASE"); displayHash(
"/SECTION");
1355 displayHash(
"/STACK"); displayHash(
"/STUB"); displayHash(
"/SUBSYSTEM");
1356 displayHash(
"/SWAPRUN"); displayHash(
"/TLBID"); displayHash(
"/TLBOUT");
1357 displayHash(
"/TSAWARE"); displayHash(
"/VERBOSE"); displayHash(
"/VERSION");
1358 displayHash(
"/VXD"); displayHash(
"/WS "); displayHash(
"/libpath");
1359 displayHash(
"/WINMD"); displayHash(
"/WINMDFILE:");
1362 #ifdef USE_DISPLAY_HASH
1364 displayHash(
"UNLOAD"); displayHash(
"NOBIND"); displayHash(
"no"); displayHash(
"NOSTATUS"); displayHash(
"STATUS");
1365 displayHash(
"AM33"); displayHash(
"ARM"); displayHash(
"CEE"); displayHash(
"EBC"); displayHash(
"IA64"); displayHash(
"X86"); displayHash(
"X64"); displayHash(
"M32R");
1366 displayHash(
"MIPS"); displayHash(
"MIPS16"); displayHash(
"MIPSFPU"); displayHash(
"MIPSFPU16"); displayHash(
"MIPSR41XX"); displayHash(
"PPC");
1367 displayHash(
"SH3"); displayHash(
"SH3DSP"); displayHash(
"SH4"); displayHash(
"SH5"); displayHash(
"THUMB"); displayHash(
"TRICORE"); displayHash(
"EXPORTS");
1368 displayHash(
"LINES"); displayHash(
"REF"); displayHash(
"NOREF"); displayHash(
"ICF"); displayHash(
"WIN98"); displayHash(
"NOWIN98");
1369 displayHash(
"CONSOLE"); displayHash(
"EFI_APPLICATION"); displayHash(
"EFI_BOOT_SERVICE_DRIVER"); displayHash(
"EFI_ROM"); displayHash(
"EFI_RUNTIME_DRIVER"); displayHash(
"NATIVE");
1370 displayHash(
"POSIX"); displayHash(
"WINDOWS"); displayHash(
"WINDOWSCE"); displayHash(
"NET"); displayHash(
"CD"); displayHash(
"NO");
1375 switch (optionHash) {
1386 switch (optionHash) {
1436 else if(*(
option+14) ==
'P')
1438 else if(*(
option+14) ==
'S')
1442 if(*(
option+20) ==
':') {
1443 if(*(
option+21) ==
'N') {
1445 }
else if(*(
option+21) ==
'S') {
1455 else if(*(
option+20) ==
'M')
1457 else if(*(
option+20) ==
'S')
1493 else if(*(
option+20) ==
'h')
1495 else if(*(
option+20) ==
'r')
1542 if(*(
option+12) ==
':' ) {
1545 else if(*(
option+13) ==
'P')
1547 else if(*(
option+13) ==
'Q')
1549 else if(*(
option+13) ==
'S')
1557 if(both.count() == 2)
1574 if(*(
option+12) ==
':' &&
1587 if(*(
option+18) ==
':' &&
1618 switch (elfHash(
option+9)) {
1658 else if(*(
option+9) ==
'L')
1696 char third = *(
option+7);
1742 if(both.count() == 2)
1757 switch (elfHash(both[0].toLatin1().constData())) {
1783 else if(*(
option+9) ==
'C')
1826 if (!
config->suppressUnknownOptionWarnings)
1827 unknownOptionWarning(
"Linker",
option);
1835 : EmbedManifest(
unset)
1850 ErrorCheckAllocations(
unset),
1851 ErrorCheckBounds(
unset),
1852 ErrorCheckEnumRange(
unset),
1853 ErrorCheckRefPointers(
unset),
1854 ErrorCheckStubData(
unset),
1855 GenerateStublessProxies(
unset),
1856 GenerateTypeLibrary(
unset),
1857 IgnoreStandardIncludePath(
unset),
1858 MkTypLibCompatible(
unset),
1860 SuppressStartupBanner(
unset),
1862 ValidateParameters(
unset),
1865 ApplicationConfigurationMode(
unset),
1866 ValidateAllParameters(
unset),
1867 SuppressCompilerWarnings(
unset),
1874 #ifdef USE_DISPLAY_HASH
1875 displayHash(
"/D name[=def]"); displayHash(
"/I directory-list"); displayHash(
"/Oi");
1876 displayHash(
"/Oic"); displayHash(
"/Oicf"); displayHash(
"/Oif"); displayHash(
"/Os");
1877 displayHash(
"/U name"); displayHash(
"/WX"); displayHash(
"/W{0|1|2|3|4}");
1878 displayHash(
"/Zp {N}"); displayHash(
"/Zs"); displayHash(
"/acf filename");
1879 displayHash(
"/align {N}"); displayHash(
"/app_config"); displayHash(
"/c_ext");
1880 displayHash(
"/char ascii7"); displayHash(
"/char signed"); displayHash(
"/char unsigned");
1881 displayHash(
"/client none"); displayHash(
"/client stub"); displayHash(
"/confirm");
1882 displayHash(
"/cpp_cmd cmd_line"); displayHash(
"/cpp_opt options");
1883 displayHash(
"/cstub filename"); displayHash(
"/dlldata filename"); displayHash(
"/env win32");
1884 displayHash(
"/env win64"); displayHash(
"/error all"); displayHash(
"/error allocation");
1885 displayHash(
"/error bounds_check"); displayHash(
"/error enum"); displayHash(
"/error none");
1886 displayHash(
"/error ref"); displayHash(
"/error stub_data"); displayHash(
"/h filename");
1887 displayHash(
"/header filename"); displayHash(
"/iid filename"); displayHash(
"/lcid");
1888 displayHash(
"/mktyplib203"); displayHash(
"/ms_ext"); displayHash(
"/ms_union");
1889 displayHash(
"/msc_ver <nnnn>"); displayHash(
"/newtlb"); displayHash(
"/no_cpp");
1890 displayHash(
"/no_def_idir"); displayHash(
"/no_default_epv"); displayHash(
"/no_format_opt");
1891 displayHash(
"/no_warn"); displayHash(
"/nocpp"); displayHash(
"/nologo"); displayHash(
"/notlb");
1892 displayHash(
"/o filename"); displayHash(
"/oldnames"); displayHash(
"/oldtlb");
1893 displayHash(
"/osf"); displayHash(
"/out directory"); displayHash(
"/pack {N}");
1894 displayHash(
"/prefix all"); displayHash(
"/prefix client"); displayHash(
"/prefix server");
1895 displayHash(
"/prefix switch"); displayHash(
"/protocol all"); displayHash(
"/protocol dce");
1896 displayHash(
"/protocol ndr64"); displayHash(
"/proxy filename"); displayHash(
"/robust");
1897 displayHash(
"/rpcss"); displayHash(
"/savePP"); displayHash(
"/server none");
1898 displayHash(
"/server stub"); displayHash(
"/sstub filename"); displayHash(
"/syntax_check");
1899 displayHash(
"/target {system}"); displayHash(
"/tlb filename"); displayHash(
"/use_epv");
1900 displayHash(
"/win32"); displayHash(
"/win64");
1908 switch (optionHash) {
1922 switch(optionHash) {
2152 : IgnoreAllDefaultLibraries(
unset),
2153 SuppressStartupBanner(
_True)
2166 IgnoreStandardIncludePath(
unset),
2168 SuppressStartupBanner(
unset)
2181 : ExcludedFromBuild(
unset)
2210 : ATLMinimizesCRunTimeLibraryUsage(
unset),
2211 BuildBrowserInformation(
unset),
2214 RegisterOutput(
unset),
2217 WholeProgramOptimization(
unset)
2226 : ParseFiles(
unset),
2245 for (
int i = 0;
i < fileList.count(); ++
i)
2251 for (
int i = 0;
i < fileList.
count(); ++
i)
2267 "echo /*-------------------------------------------------------------------- >" + toFile;
2268 lines <<
"* Precompiled header source file used by Visual Studio.NET to generate";
2269 lines <<
"* the .pch file.";
2271 lines <<
"* Due to issues with the dependencies checker within the IDE, it";
2272 lines <<
"* sometimes fails to recompile the PCH file, if we force the IDE to";
2273 lines <<
"* create the PCH file directly from the header file.";
2275 lines <<
"* This file is auto-generated by qmake since no PRECOMPILED_SOURCE was";
2276 lines <<
"* specified, and is used as the common stdafx.cpp. The file is only";
2279 +
" project files, and is not used for";
2280 lines <<
"* command line compilations by nmake.";
2282 lines <<
"* WARNING: All changes made in this file will be lost.";
2283 lines <<
"--------------------------------------------------------------------*/";
2292 if (isPrecompSource) {
2300 bool isCFile =
false;
2309 if (!pchCompatible) {
2320 if (
f.file == filePath) {
2332 if (extraCompilers.isEmpty())
2339 bool hasBuiltIn =
false;
2340 if (!objectMappedFile.
isEmpty()) {
2356 for (
int x = 0;
x < extraCompilers.count(); ++
x) {
2357 const QString &extraCompilerName = extraCompilers.at(
x);
2369 bool combined = configs.
indexOf(
"combine") != -1;
2387 inFile = objectMappedFile;
2391 if (!tmp_dep.isEmpty())
2398 configs.
contains(
"dep_existing_only"),
2401 for (
int i = 0;
i < deps.count(); ++
i)
2410 for (
int a = 0;
a < tmp_in.
count(); ++
a) {
2412 for (
int b = 0;
b <
files.count(); ++
b) {
2418 deps = inputs + deps;
2426 deps.prepend(inFile);
2433 if (!tmp_cmd_name.
isEmpty()) {
2439 cmd_name = cmd.
left(space);
2442 cmd_name = cmd_name.
trimmed();
2446 for (
int i = 0;
i < deps.count(); ++
i)
2464 for (
int c = 0;
c < deps.count(); ++
c) {
2469 uniqDeps.removeDuplicates();
2485 if (
name ==
"Root Files")
2487 if (
name ==
"Source Files")
2489 if (
name ==
"Header Files")
2491 if (
name ==
"Generated Files")
2493 if (
name ==
"LexYacc Files")
2495 if (
name ==
"Translation Files")
2497 if (
name ==
"Form Files")
2499 if (
name ==
"Resource Files")
2501 if (
name ==
"Deployment Files")
2503 if (
name ==
"Distribution Files")
2520 if (children.size()) {
2525 <<
attr(
"Name", tagName)
2526 <<
attr(
"Filter",
"");
2529 for (
it = children.constBegin();
it !=
end; ++
it)
2530 if ((*it)->children.size())
2533 for (
it = children.constBegin();
it !=
end; ++
it)
2534 if (!(*it)->children.size())
2541 VCProjectWriter::outputFileConfigs(tool,
xml,
info,
filter);
2547 if (children.
size()) {
2551 VCProjectWriter::outputFileConfigs(tool,
xml, (*
it),
filter);
2558 xml <<
decl(
"1.0",
"Windows-1252")
2579 outputFilter(tempProj,
xml,
"Source Files");
2580 outputFilter(tempProj,
xml,
"Header Files");
2581 outputFilter(tempProj,
xml,
"Generated Files");
2582 outputFilter(tempProj,
xml,
"LexYacc Files");
2583 outputFilter(tempProj,
xml,
"Translation Files");
2584 outputFilter(tempProj,
xml,
"Form Files");
2585 outputFilter(tempProj,
xml,
"Resource Files");
2586 outputFilter(tempProj,
xml,
"Deployment Files");
2587 outputFilter(tempProj,
xml,
"Distribution Files");
2592 if (!extraCompilersInProject.
contains(compilerName)) {
2593 extraCompilersInProject += compilerName;
2601 outputFilter(tempProj,
xml,
"Root Files");
2610 warn_msg(
WarnLogic,
"Generator: .NET: no single project in merge project, no output");
2614 xml <<
decl(
"1.0",
"Windows-1252")
2633 outputFilter(tool,
xml,
"Source Files");
2634 outputFilter(tool,
xml,
"Header Files");
2635 outputFilter(tool,
xml,
"Generated Files");
2636 outputFilter(tool,
xml,
"LexYacc Files");
2637 outputFilter(tool,
xml,
"Translation Files");
2638 outputFilter(tool,
xml,
"Form Files");
2639 outputFilter(tool,
xml,
"Resource Files");
2640 outputFilter(tool,
xml,
"Deployment Files");
2641 outputFilter(tool,
xml,
"Distribution Files");
2645 outputFilter(tool,
xml,
"Root Files");
2982 for (
int x = 0;
x <
filter.Files.count(); ++
x)
2983 root->addElement(
filter.Files.at(
x));
2987 if (
name.isEmpty()) {
2989 extfilter =
filter.Filter;
2995 if (!root->hasElements())
2999 if (!
name.isEmpty()) {
3006 root->generateXML(
xml,
"", project, filtername);
3007 if (!
name.isEmpty())
3028 filter.useCustomBuildTool =
false;
3029 filter.useCompilerTool =
false;
3040 filter.CompilerTool.ProgramDataBaseFileName.clear();
3047 inBuild &= !
info.excludeFromBuild;
3051 if(
filter.Project->usePCH)
3055 if(
info.excludeFromBuild)
3056 filter.useCompilerTool =
true;
3060 if (
filter.useCustomBuildTool ||
filter.useCompilerTool || !inBuild) {
3064 if (
filter.useCustomBuildTool)
3066 if (
filter.useCompilerTool)
small capitals from c petite p scientific i
[1]
void generateXML(XmlOutput &xml, const QString &tagName, VCProject &proj, const QString &filter) override
virtual QStringList & findDependencies(const QString &file)
void callExtraCompilerDependCommand(const ProString &extraCompiler, const QString &tmp_dep_cmd, const QString &inpf, const QString &tmp_out, bool dep_lines, QStringList *deps, bool existingDepsOnly, bool checkCommandAvailability=false)
bool verifyExtraCompiler(const ProString &c, const QString &f)
edge_iterator end() const
ALWAYS_INLINE ProKey & toKey()
QString toQString() const
ALWAYS_INLINE QStringView toQStringView() const
int indexOf(const QString &s, int from=0, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
QString join(const ProString &sep) const
bool contains(const ProString &str, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
QStringList toQStringList() const
The QByteArray class provides an array of bytes.
The QFileInfo class provides system-independent file information.
T value(const Key &key) const noexcept
The QLatin1String class provides a thin wrapper around an US-ASCII/Latin-1 encoded string literal.
const_reference at(qsizetype i) const noexcept
qsizetype count() const noexcept
ProString first(const ProKey &variableName) const
ProStringList & values(const ProKey &v)
const_iterator ConstIterator
const_iterator constBegin() const
const_iterator constEnd() const
The QRegularExpression class provides pattern matching using regular expressions.
QRegularExpressionMatch match(const QString &subject, qsizetype offset=0, MatchType matchType=NormalMatch, MatchOptions matchOptions=NoMatchOption) const
The QScopedPointer class stores a pointer to a dynamically allocated object, and deletes it upon dest...
void reset(T *other=nullptr) noexcept(noexcept(Cleanup::cleanup(std::declval< T * >())))
bool contains(const T &value) const
The QString class provides a Unicode character string.
bool endsWith(const QString &s, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
static QString number(int, int base=10)
QString left(qsizetype n) const
static QString static QString qsizetype indexOf(QChar c, qsizetype from=0, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
QString trimmed() const &
The QStringList class provides a list of strings.
The QStringView class provides a unified view on UTF-16 strings with a read-only subset of the QStrin...
constexpr QStringView left(qsizetype n) const noexcept
int toInt(bool *ok=nullptr, int base=10) const
constexpr QStringView mid(qsizetype pos, qsizetype n=-1) const noexcept
void generateXML(XmlOutput &xml, const QString &tagName, VCProject &tool, const QString &filter) override
VCResourceCompilerTool resource
ConfigurationTypes ConfigurationType
VCPreBuildEventTool preBuild
VCLibrarianTool librarian
triState WholeProgramOptimization
VCManifestTool manifestTool
triState BuildBrowserInformation
triState ATLMinimizesCRunTimeLibraryUsage
VCPostBuildEventTool postBuild
QString IntermediateDirectory
QString DeleteExtensionsOnClean
VCDeploymentTool deployment
VCCLCompilerTool compiler
VCPreLinkEventTool preLink
void modifyPCHstage(QString str)
bool addExtraCompiler(const VCFilterFile &info)
VcprojGenerator * Project
VCCustomBuildTool CustomBuildTool
void addFiles(const QStringList &fileList)
QList< VCFilterFile > Files
VCCLCompilerTool CompilerTool
VCFilterFile findFile(const QString &filePath, bool *found) const
void addFile(const QString &filename)
QList< VCProjectSingleConfig > SingleProjects
QStringList ExtraCompilers
const VCFilter & filterByName(const QString &name) const
VCFilter DistributionFiles
VCFilter TranslationFiles
const VCFilter & filterForExtraCompiler(const QString &compilerName) const
VCFilterList ExtraCompilersFiles
VCConfiguration Configuration
virtual void write(XmlOutput &, VCProjectSingleConfig &)
bool autogenPrecompSource
QHash< QString, QStringList > extraCompilerSources
QString replaceExtraCompilerVariables(const QString &, const QStringList &, const QStringList &, ReplaceFor) override
QHash< QString, QString > extraCompilerOutputs
static bool hasBuiltinCompiler(const QString &file)
const QString customBuildToolFilterFileSuffix
backing_store_ptr info
[4]
const char _TerminalServerAware[]
const char _BrowseInformation[]
const char _TypeLibraryResourceID[]
const char _MergedIDLBaseFileName[]
const char _StripPrivateSymbols[]
const char _OmitFramePointers[]
const char _WarnAsError[]
const char _WarningLevel[]
const char _LargeAddressAware[]
const char _DelayLoadDLLs[]
const char _EntryPointSymbol[]
const char _OptimizeForProcessor[]
const char _HeapReserveSize[]
const char _ResourceOutputFileName[]
const char _PrecompiledHeaderThrough[]
const char _SwapRunFromNet[]
XmlOutput::xml_output attrL(const char *name, qint64 v)
const char _SwapRunFromCD[]
const char _ProgramDataBaseFileName[]
const char _ShowProgress[]
const char _StackCommitSize[]
const char _TurnOffAssemblyGeneration[]
const char _AddModuleNamesToAssembly[]
const char _AssemblerListingLocation[]
const char _DeleteExtensionsOnClean[]
const char _TargetMachine[]
const char _MinimalRebuild[]
const char _EnableErrorChecks[]
XmlOutput::xml_output xformUsePrecompiledHeaderForNET2005(pchOption whatPch, DotNET compilerVersion)
const char _IgnoreStandardIncludePath[]
const char _VCCustomBuildTool[]
const char _RedirectOutputAndErrors[]
const char _ExportNamedFunctions[]
const char _DebugInformationFormat[]
const char _Configuration[]
const char _StackReserveSize[]
const char _IgnoreEmbeddedIDL[]
const char _OptimizeForWindowsApplication[]
const char _ImportLibrary[]
const char _AdditionalUsingDirectories[]
const char _HeapCommitSize[]
const char _FullIncludePath[]
const char _SmallerTypeCheck[]
const char _VCResourceCompilerTool[]
const char _MapFileName[]
const char _EnableIntrinsicFunctions[]
const char _GenerateStublessProxies[]
const char _CompileOnly[]
const char _CharacterSet[]
const char _ErrorCheckStubData[]
const char _FloatingPointModel[]
const char _PrecompiledHeaderFile[]
const char _HeaderFileName[]
const char _DataExecutionPrevention[]
const char _OutputDirectory[]
const char _CPreprocessOptions[]
const char _UsePrecompiledHeader[]
const char _CommandLine[]
const char _GenerateManifest[]
const char _UndefineAllPreprocessorDefinitions[]
const char _BuildBrowserInformation[]
const char _Description[]
const char _GenerateMapFile[]
const char _ProgramDatabaseFile[]
XmlOutput::xml_output attrT(const char *name, const triState v)
const char _AdditionalDependencies[]
const char _ExceptionHandling[]
const char _ErrorCheckEnumRange[]
const char _TreatWChar_tAsBuiltInType[]
const char _Optimization[]
const char _ExcludedFromBuild[]
const char _PreprocessorDefinitions[]
const char _AdditionalFiles[]
const char _ErrorCheckRefPointers[]
const char _ProgramDatabase[]
const char _EnableFiberSafeOptimizations[]
const char _EnableEnhancedInstructionSet[]
const char _TargetEnvironment[]
const char _VCLibrarianTool[]
const char _SccProjectName[]
const char _EnableCOMDATFolding[]
const char _GenerateTypeLibrary[]
const char _LinkToManagedResourceFile[]
const char _LinkIncremental[]
XmlOutput::xml_output attrS(const char *name, const QString &v)
const char _ErrorCheckAllocations[]
const char _AdditionalOptions[]
const char _InlineFunctionExpansion[]
const char _FileConfiguration[]
const char _SupportUnloadOfDelayLoadedDLL[]
const char _UndefinePreprocessorDefinitions[]
const char _TypeLibraryFile[]
const char _BaseAddress[]
const char _BrowseInformationFile[]
const char _AdditionalIncludeDirectories[]
const char _InterfaceIdentifierFileName[]
const char _IntermediateDirectory[]
const char _EmbedManifest[]
const char _ForcedUsingFiles[]
const char _ImproveFloatingPointConsistency[]
const char _SetChecksum[]
const char _TypeLibraryName[]
const char _OptimizeForWindows98[]
const char _FavorSizeOrSpeed[]
const char _StructMemberAlignment[]
const char _RegisterOutput[]
const char _CompileForArchitecture[]
const char _AssemblerOutput[]
const char _SccLocalPath[]
const char _AdditionalLibraryDirectories[]
const char _ValidateParameters[]
const char _SuppressStartupBanner[]
const char _ForcedIncludeFiles[]
XmlOutput::xml_output xformExceptionHandlingNET2005(exceptionHandling eh, DotNET compilerVersion)
XmlOutput::xml_output attrX(const char *name, const QStringList &v, const char *s=",")
const char _DLLDataFileName[]
const char _CallingConvention[]
const char _GeneratePreprocessedFile[]
const char _OptimizeReferences[]
triState operator!(const triState &rhs)
const char _MergeSections[]
const char _PrimaryOutput[]
const char _UniqueIdentifier[]
const char _IgnoreImportLibrary[]
const char _ProjectGUID[]
const char _ATLMinimizesCRunTimeLibraryUsage[]
const char _StringPooling[]
const char _RelativePath[]
const char _VisualStudioProject[]
const char _RuntimeLibrary[]
const char _Detect64BitPortabilityProblems[]
const char _VCManifestTool[]
const char _ShowIncludes[]
const char _EnableFunctionLevelLinking[]
const char _DefaultCharType[]
const char _ResourceOnlyDLL[]
XmlOutput::xml_output attrE(const char *name, int v)
const char _LinkTimeCodeGeneration[]
const char _ProxyFileName[]
const char _MidlCommandFile[]
QT_BEGIN_NAMESPACE DotNET vsVersionFromString(const ProString &versionString)
const char _IgnoreDefaultLibraryNames[]
const char _KeepComments[]
const char _RemoteDirectory[]
const char _GenerateDebugInformation[]
const char _Configurations[]
const char _ExpandAttributedSource[]
const char _ForceSymbolReferences[]
const char _FunctionOrder[]
const char _InterworkCalls[]
const char _WholeProgramOptimization[]
const char _ErrorCheckBounds[]
const char _FloatingPointExceptions[]
const char _DisableLanguageExtensions[]
const char _RandomizedBaseAddress[]
const char _BasicRuntimeChecks[]
const char _VCCLCompilerTool[]
const char _ConfigurationType[]
const char _IgnoreAllDefaultLibraries[]
const char _GlobalOptimizations[]
const char _RuntimeTypeInfo[]
const char _ProjectType[]
const char _CompileAsManaged[]
const char _ForceConformanceInForLoopScope[]
const char _ModuleDefinitionFile[]
const char _BufferSecurityCheck[]
const char _DisableSpecificWarnings[]
const char _VCLinkerTool[]
const char _MkTypLibCompatible[]
@ asmListingAsmMachineSrc
@ managedAssemblyOldSyntax
@ procOptimizePentiumProAndAbove
@ procOptimizePentium4AndAbove
@ linkerDebugOptionFastLink
@ rtMultiThreadedDebugDLL
@ runtimeCheckUninitVariables
void warn_msg(QMakeWarn type, const char *fmt,...)
int PRIV() strcmp(PCRE2_SPTR str1, PCRE2_SPTR str2)
int PRIV() strncmp(PCRE2_SPTR str1, PCRE2_SPTR str2, size_t len)
PCRE2_SIZE PRIV() strlen(PCRE2_SPTR str)
Q_CORE_EXPORT int qstricmp(const char *, const char *)
QList< QString > QStringList
QT_BEGIN_INCLUDE_NAMESPACE typedef unsigned char uchar
GLboolean GLboolean GLboolean b
GLsizei const GLfloat * v
[13]
GLint GLint GLint GLint GLint x
[0]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum GLuint GLintptr offset
GLfloat GLfloat GLfloat GLfloat h
GLenum GLenum GLenum input
QtPrivate::QRegularExpressionMatchIteratorRangeBasedForIterator begin(const QRegularExpressionMatchIterator &iterator)
#define QStringLiteral(str)
QTextStream out(stdout)
[7]
static QString fixPathToTargetOS(const QString &in, bool fix_env=true, bool canonical=true)
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
qsizetype indexOf(const AT &t, qsizetype from=0) const noexcept
XmlOutput::xml_output tag(const QString &name)
XmlOutput::xml_output closetag()
XmlOutput::xml_output noxml()
XmlOutput::xml_output decl(const QString &version=QString("1.0"), const QString &encoding=QString())
XmlOutput::xml_output attr(const QString &name, const QString &value)