Merge remote-tracking branch 'origin/4.4'

Change-Id: Ic9a1cf3b40b259d9c77f2f542405d189171e0fbf
This commit is contained in:
Eike Ziller
2017-09-05 12:15:42 +02:00
11 changed files with 46 additions and 21 deletions

View File

@@ -276,8 +276,10 @@ void AutotoolsProject::updateCppCodeModel()
CppTools::ProjectPart::QtVersion activeQtVersion = CppTools::ProjectPart::NoQt; CppTools::ProjectPart::QtVersion activeQtVersion = CppTools::ProjectPart::NoQt;
if (QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k)) { if (QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k)) {
if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5,0,0)) if (qtVersion->qtVersion() <= QtSupport::QtVersionNumber(4,8,6))
activeQtVersion = CppTools::ProjectPart::Qt4; activeQtVersion = CppTools::ProjectPart::Qt4_8_6AndOlder;
else if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5,0,0))
activeQtVersion = CppTools::ProjectPart::Qt4Latest;
else else
activeQtVersion = CppTools::ProjectPart::Qt5; activeQtVersion = CppTools::ProjectPart::Qt5;
} }

View File

@@ -164,8 +164,10 @@ void CMakeProject::updateProjectData(CMakeBuildConfiguration *bc)
CppTools::ProjectPart::QtVersion activeQtVersion = CppTools::ProjectPart::NoQt; CppTools::ProjectPart::QtVersion activeQtVersion = CppTools::ProjectPart::NoQt;
if (QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k)) { if (QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k)) {
if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5,0,0)) if (qtVersion->qtVersion() <= QtSupport::QtVersionNumber(4,8,6))
activeQtVersion = CppTools::ProjectPart::Qt4; activeQtVersion = CppTools::ProjectPart::Qt4_8_6AndOlder;
else if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5,0,0))
activeQtVersion = CppTools::ProjectPart::Qt4Latest;
else else
activeQtVersion = CppTools::ProjectPart::Qt5; activeQtVersion = CppTools::ProjectPart::Qt5;
} }

View File

@@ -144,7 +144,8 @@ QString Utils::toString(ProjectPart::QtVersion qtVersion)
switch (qtVersion) { switch (qtVersion) {
CASE_QTVERSION(UnknownQt); CASE_QTVERSION(UnknownQt);
CASE_QTVERSION(NoQt); CASE_QTVERSION(NoQt);
CASE_QTVERSION(Qt4); CASE_QTVERSION(Qt4_8_6AndOlder);
CASE_QTVERSION(Qt4Latest);
CASE_QTVERSION(Qt5); CASE_QTVERSION(Qt5);
// no default to get a compiler warning if anything is added // no default to get a compiler warning if anything is added
} }

View File

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

View File

@@ -80,7 +80,8 @@ public:
enum QtVersion { enum QtVersion {
UnknownQt = -1, UnknownQt = -1,
NoQt, NoQt,
Qt4, Qt4_8_6AndOlder,
Qt4Latest,
Qt5 Qt5
}; };

View File

@@ -433,8 +433,10 @@ void GenericProject::refreshCppCodeModel()
CppTools::ProjectPart::QtVersion activeQtVersion = CppTools::ProjectPart::NoQt; CppTools::ProjectPart::QtVersion activeQtVersion = CppTools::ProjectPart::NoQt;
if (QtSupport::BaseQtVersion *qtVersion = if (QtSupport::BaseQtVersion *qtVersion =
QtSupport::QtKitInformation::qtVersion(activeTarget()->kit())) { QtSupport::QtKitInformation::qtVersion(activeTarget()->kit())) {
if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5,0,0)) if (qtVersion->qtVersion() <= QtSupport::QtVersionNumber(4,8,6))
activeQtVersion = CppTools::ProjectPart::Qt4; activeQtVersion = CppTools::ProjectPart::Qt4_8_6AndOlder;
else if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5,0,0))
activeQtVersion = CppTools::ProjectPart::Qt4Latest;
else else
activeQtVersion = CppTools::ProjectPart::Qt5; activeQtVersion = CppTools::ProjectPart::Qt5;
} }

View File

@@ -650,14 +650,26 @@ ToolChain::SystemHeaderPathsRunner GccToolChain::createSystemHeaderPathsRunner()
(const QStringList &cxxflags, const QString &sysRoot) { (const QStringList &cxxflags, const QString &sysRoot) {
// Prepare arguments // Prepare arguments
QStringList arguments; QStringList arguments;
if (!sysRoot.isEmpty()) const bool hasKitSysroot = !sysRoot.isEmpty();
if (hasKitSysroot)
arguments.append(QString::fromLatin1("--sysroot=%1").arg(sysRoot)); arguments.append(QString::fromLatin1("--sysroot=%1").arg(sysRoot));
QStringList flags; QStringList flags;
flags << platformCodeGenFlags << cxxflags; flags << platformCodeGenFlags << cxxflags;
foreach (const QString &a, flags) { for (int i = 0; i < flags.size(); ++i) {
if (a.startsWith("-stdlib=") || a.startsWith("--gcctoolchain=")) const QString &flag = flags.at(i);
arguments << a; if (flag.startsWith("-stdlib=") || flag.startsWith("--gcctoolchain=")) {
arguments << flag;
} else if (!hasKitSysroot) {
// pass build system's sysroot to compiler, if we didn't pass one from kit
if (flag.startsWith("--sysroot=")) {
arguments << flag;
} else if ((flag.startsWith("-isysroot") || flag.startsWith("--sysroot"))
&& i < flags.size() - 1) {
arguments << flag << flags.at(i + 1);
++i;
}
}
} }
arguments << "-xc++" << "-E" << "-v" << "-"; arguments << "-xc++" << "-E" << "-v" << "-";

View File

@@ -916,8 +916,10 @@ void QbsProject::updateCppCodeModel()
CppTools::ProjectPart::QtVersion qtVersionFromKit = CppTools::ProjectPart::NoQt; CppTools::ProjectPart::QtVersion qtVersionFromKit = CppTools::ProjectPart::NoQt;
if (qtVersion) { if (qtVersion) {
if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5,0,0)) if (qtVersion->qtVersion() <= QtSupport::QtVersionNumber(4,8,6))
qtVersionFromKit = CppTools::ProjectPart::Qt4; qtVersionFromKit = CppTools::ProjectPart::Qt4_8_6AndOlder;
else if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5,0,0))
qtVersionFromKit = CppTools::ProjectPart::Qt4Latest;
else else
qtVersionFromKit = CppTools::ProjectPart::Qt5; qtVersionFromKit = CppTools::ProjectPart::Qt5;
} }

View File

@@ -271,8 +271,10 @@ void QmakeProject::updateCppCodeModel()
QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k); QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k);
ProjectPart::QtVersion qtVersionForPart = ProjectPart::NoQt; ProjectPart::QtVersion qtVersionForPart = ProjectPart::NoQt;
if (qtVersion) { if (qtVersion) {
if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5,0,0)) if (qtVersion->qtVersion() <= QtSupport::QtVersionNumber(4,8,6))
qtVersionForPart = ProjectPart::Qt4; qtVersionForPart = ProjectPart::Qt4_8_6AndOlder;
else if (qtVersion->qtVersion() < QtSupport::QtVersionNumber(5,0,0))
qtVersionForPart = ProjectPart::Qt4Latest;
else else
qtVersionForPart = ProjectPart::Qt5; qtVersionForPart = ProjectPart::Qt5;
} }

View File

@@ -230,6 +230,7 @@ bool ConnectableItem::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
else else
newTag = new ScxmlTag(Transition, tag()->document()); newTag = new ScxmlTag(Transition, tag()->document());
newTag->setAttribute("type", "external"); newTag->setAttribute("type", "external");
newTag->setAttribute("event", tag()->document()->nextUniqueId("Transition"));
m_newTransition->init(newTag); m_newTransition->init(newTag);
tag()->document()->addTag(tag(), newTag); tag()->document()->addTag(tag(), newTag);

View File

@@ -168,9 +168,6 @@ void ScxmlTag::initId()
case History: case History:
setAttribute("id", m_document->nextUniqueId("History")); setAttribute("id", m_document->nextUniqueId("History"));
break; break;
case Transition:
setAttribute("event", m_document->nextUniqueId("Transition"));
break;
case Final: case Final:
setAttribute("id", m_document->nextUniqueId("Final")); setAttribute("id", m_document->nextUniqueId("Final"));
break; break;