CppTools: set default -std=c++11 for Qt4

qmake from Qt4 does not provide C++ standard and
clang can't properly compile Qt4.8.6 and earlier
with c++1z. Behavior in this commit mimics qmake
from Qt5 which also provides c++11 as a default
standard.

Task-number: QTCREATORBUG-16441
Change-Id: I3d29891d6e47f2367f2b3b2bf4be4d86661924e9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Ivan Donchevskii
2017-08-17 09:31:16 +02:00
parent 58e8cf83ed
commit 410e31c665
8 changed files with 29 additions and 14 deletions

View File

@@ -205,12 +205,15 @@ void ProjectInfoGenerator::createProjectParts(const RawProjectPart &rawProjectPa
const ProjectPart::Ptr part = projectPartFromRawProjectPart(rawProjectPart,
m_projectUpdateInfo.project);
ProjectPart::LanguageVersion defaultVersion = ProjectPart::LatestCxxVersion;
if (rawProjectPart.qtVersion == ProjectPart::Qt4_8_6AndOlder)
defaultVersion = ProjectPart::CXX11;
if (cat.hasCxxSources()) {
createProjectPart(rawProjectPart,
part,
cat.cxxSources(),
cat.partName("C++"),
ProjectPart::LatestCxxVersion,
defaultVersion,
ProjectPart::NoExtensions);
}
@@ -219,7 +222,7 @@ void ProjectInfoGenerator::createProjectParts(const RawProjectPart &rawProjectPa
part,
cat.objcxxSources(),
cat.partName("Obj-C++"),
ProjectPart::LatestCxxVersion,
defaultVersion,
ProjectPart::ObjectiveCExtensions);
}