Add the ability to change precompiled header use
Give the Windows configureapp the same -pch/-no-pch arguments found in the Linux configure script. Using command line arguments to enable/disable precompiled header use is preferable to mkspec changes. Make -pch the default for all toolchains. In particular, this makes -pch the default for QNX on Windows. Previously, QNX on Windows had an implied default of -no-pch. Precompiled headers are the default for QNX on Linux; they should also be the default for QNX on Windows. A 'dictionary["PCH"] = "no"' will need to be added in Configure::applySpecSpecifics for any toolchain that should default to -no-pch (none known at this time). -no-pch is implemented by putting a "CONFIG -= precompile_header" in qmodule.pri. This ensures that Qt is built without precompiled headers (as requested) even if allowing precompiled header use is the default for the toolchain. Task-number: QTBUG-52578 Task-number: QTBUG-11545 Change-Id: I1b59bc2d416c5ba169161c5b3cc13accd76eeac8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
This commit is contained in:
parent
f1e0eedcf5
commit
cc1a28d07e
@ -152,6 +152,7 @@ Configure::Configure(int& argc, char** argv) : verbose(0)
|
||||
dictionary[ "GUI" ] = "yes";
|
||||
dictionary[ "RTTI" ] = "yes";
|
||||
dictionary[ "STRIP" ] = "yes";
|
||||
dictionary[ "PCH" ] = "yes";
|
||||
dictionary[ "SEPARATE_DEBUG_INFO" ] = "no";
|
||||
dictionary[ "SSE2" ] = "auto";
|
||||
dictionary[ "SSE3" ] = "auto";
|
||||
@ -859,6 +860,11 @@ void Configure::parseCmdLine()
|
||||
else if (configCmdLine.at(i) == "-no-strip")
|
||||
dictionary[ "STRIP" ] = "no";
|
||||
|
||||
else if (configCmdLine.at(i) == "-pch")
|
||||
dictionary[ "PCH" ] = "yes";
|
||||
else if (configCmdLine.at(i) == "-no-pch")
|
||||
dictionary[ "PCH" ] = "no";
|
||||
|
||||
else if (configCmdLine.at(i) == "-accessibility")
|
||||
dictionary[ "ACCESSIBILITY" ] = "yes";
|
||||
else if (configCmdLine.at(i) == "-no-accessibility") {
|
||||
@ -1941,6 +1947,9 @@ bool Configure::displayHelp()
|
||||
desc( "-L <librarypath>", "Add an explicit library path.");
|
||||
desc( "-l <libraryname>", "Add an explicit library name, residing in a librarypath.\n");
|
||||
|
||||
desc("PCH", "no", "-no-pch", "Do not use precompiled header support.");
|
||||
desc("PCH", "yes", "-pch", "Use precopmiled header support.\n");
|
||||
|
||||
desc( "-help, -h, -?", "Display this information.\n");
|
||||
|
||||
// 3rd party stuff options go below here --------------------------------------------------------------------------------
|
||||
@ -2748,6 +2757,11 @@ void Configure::generateOutputVars()
|
||||
if (dictionary[ "RELEASE_TOOLS" ] == "yes")
|
||||
qtConfig += "release_tools";
|
||||
|
||||
if (dictionary[ "PCH" ] == "yes")
|
||||
qmakeConfig += "precompile_header";
|
||||
else
|
||||
qmakeVars += "CONFIG -= precompile_header";
|
||||
|
||||
if (dictionary[ "C++STD" ] == "c++11")
|
||||
qtConfig += "c++11";
|
||||
else if (dictionary[ "C++STD" ] == "c++14")
|
||||
@ -3854,6 +3868,7 @@ void Configure::displayConfig()
|
||||
sout << "Force optimized tools......." << dictionary[ "RELEASE_TOOLS" ] << endl;
|
||||
sout << "C++ language standard......." << dictionary[ "C++STD" ] << endl;
|
||||
sout << "Link Time Code Generation..." << dictionary[ "LTCG" ] << endl;
|
||||
sout << "Using PCH .................." << dictionary[ "PCH" ] << endl;
|
||||
sout << "Accessibility support......." << dictionary[ "ACCESSIBILITY" ] << endl;
|
||||
sout << "RTTI support................" << dictionary[ "RTTI" ] << endl;
|
||||
sout << "SSE2 support................" << dictionary[ "SSE2" ] << endl;
|
||||
|
Loading…
Reference in New Issue
Block a user