aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2017-07-10 09:54:52 +0200
committerEike Ziller <eike.ziller@qt.io>2017-07-10 09:54:52 +0200
commit345ea0307cb34bc7a00acb8881fa53bedb28b0ca (patch)
tree11b96bf9330e9c7a4b5c1b04b982be2bdd63741b
parent491ab37b1f5499bf53b5c8e41862776ec4d3658c (diff)
parent4196534759f7f7aa04c8675378cfec57539abc75 (diff)
Merge remote-tracking branch 'origin/4.3' into 4.4
Conflicts: qtcreator.qbs Change-Id: Ic5e268326d93172208de291d31a716e437b9cedf
-rw-r--r--README.md2
-rw-r--r--doc/src/overview/creator-supported-platforms.qdoc2
-rw-r--r--qbs/imports/QtcProduct.qbs2
-rw-r--r--qtcreator.qbs2
-rw-r--r--src/app/Info.plist2
-rw-r--r--src/app/app.pro7
-rw-r--r--src/app/app.qbs11
-rw-r--r--src/libs/cplusplus/LookupContext.cpp20
-rw-r--r--src/libs/cplusplus/LookupContext.h3
9 files changed, 29 insertions, 22 deletions
diff --git a/README.md b/README.md
index 303c62f77f..b5f183b4e2 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ The standalone binary packages support the following platforms:
* Windows 7 or later
* (K)Ubuntu Linux 16.04 (64-bit) or later
-* macOS 10.8 or later
+* macOS 10.10 or later
## Compiling Qt Creator
diff --git a/doc/src/overview/creator-supported-platforms.qdoc b/doc/src/overview/creator-supported-platforms.qdoc
index dda8caee09..43118e4c8d 100644
--- a/doc/src/overview/creator-supported-platforms.qdoc
+++ b/doc/src/overview/creator-supported-platforms.qdoc
@@ -97,7 +97,7 @@
\endlist
- \li \macos 10.8 or later with the following:
+ \li \macos 10.10 or later with the following:
\list
diff --git a/qbs/imports/QtcProduct.qbs b/qbs/imports/QtcProduct.qbs
index d89dbd1635..ea9fb30163 100644
--- a/qbs/imports/QtcProduct.qbs
+++ b/qbs/imports/QtcProduct.qbs
@@ -8,6 +8,7 @@ Product {
version: qtc.qtcreator_version
property bool install: true
property string installDir
+ property string installSourceBase
property stringList installTags: type
property string fileName: FileInfo.fileName(sourceDirectory) + ".qbs"
property bool useNonGuiPchFile: false
@@ -37,6 +38,7 @@ Product {
fileTagsFilter: installTags
qbs.install: install
qbs.installDir: installDir
+ qbs.installSourceBase: installSourceBase
}
Group {
diff --git a/qtcreator.qbs b/qtcreator.qbs
index 3394719939..97ed38a468 100644
--- a/qtcreator.qbs
+++ b/qtcreator.qbs
@@ -4,7 +4,7 @@ import qbs.FileInfo
Project {
name: "Qt Creator"
- minimumQbsVersion: "1.6.0"
+ minimumQbsVersion: "1.7.0"
property string minimumMacosVersion: "10.8"
property bool withAutotests: qbs.buildVariant === "debug"
property path ide_source_tree: path
diff --git a/src/app/Info.plist b/src/app/Info.plist
index 6d31c52d26..8447dd66d4 100644
--- a/src/app/Info.plist
+++ b/src/app/Info.plist
@@ -253,6 +253,6 @@
<key>CFBundleShortVersionString</key>
<string>@SHORT_VERSION@</string>
<key>LSMinimumSystemVersion</key>
- <string>10.8</string>
+ <string>@MACOSX_DEPLOYMENT_TARGET@</string>
</dict>
</plist>
diff --git a/src/app/app.pro b/src/app/app.pro
index fee710e99d..58dca7ba05 100644
--- a/src/app/app.pro
+++ b/src/app/app.pro
@@ -53,7 +53,12 @@ win32 {
INSTALLS += icns
}
}
- QMAKE_INFO_PLIST = Info.plist
+
+ infoplist = $$cat($$PWD/Info.plist, blob)
+ infoplist = $$replace(infoplist, @MACOSX_DEPLOYMENT_TARGET@, $$QMAKE_MACOSX_DEPLOYMENT_TARGET)
+ write_file($$OUT_PWD/Info.plist, infoplist)
+
+ QMAKE_INFO_PLIST = $$OUT_PWD/Info.plist
}
target.path = $$INSTALL_APP_PATH
diff --git a/src/app/app.qbs b/src/app/app.qbs
index 2eac52ac64..0af41ca20d 100644
--- a/src/app/app.qbs
+++ b/src/app/app.qbs
@@ -20,7 +20,9 @@ QtcProduct {
targetName: qtc.ide_app_target
version: qtc.qtcreator_version
- installDir: qtc.ide_bin_path
+ installDir: bundle.isBundle ? qtc.ide_app_path : qtc.ide_bin_path
+ installTags: bundle.isBundle ? ["bundle.content"] : base
+ installSourceBase: bundle.isBundle ? buildDirectory : base
property bool qtcRunnable: true
cpp.rpaths: qbs.targetOS.contains("macos") ? ["@executable_path/../Frameworks"]
@@ -72,11 +74,4 @@ QtcProduct {
"../shared/qtlockedfile/qtlockedfile_win.cpp"
]
}
-
- Group {
- condition: qbs.targetOS.contains("macos")
- fileTagsFilter: ["aggregate_infoplist", "pkginfo", "compiled_assetcatalog"]
- qbs.install: true
- qbs.installSourceBase: product.buildDirectory
- }
}
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp
index cb2aead5a3..0e9fccead2 100644
--- a/src/libs/cplusplus/LookupContext.cpp
+++ b/src/libs/cplusplus/LookupContext.cpp
@@ -952,7 +952,7 @@ ClassOrNamespace *ClassOrNamespace::lookupType_helper(const Name *name,
return this;
}
- if (ClassOrNamespace *e = nestedType(name, origin))
+ if (ClassOrNamespace *e = nestedType(name, processed, origin))
return e;
if (_templateId) {
@@ -1074,7 +1074,9 @@ ClassOrNamespace *ClassOrNamespace::findOrCreateNestedAnonymousType(
}
}
-ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, ClassOrNamespace *origin)
+ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name,
+ QSet<ClassOrNamespace *> *processed,
+ ClassOrNamespace *origin)
{
Q_ASSERT(name != 0);
Q_ASSERT(name->isNameId() || name->isTemplateNameId() || name->isAnonymousNameId());
@@ -1184,11 +1186,11 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, ClassOrNamespac
instantiation->_name = templId;
instantiation->_templateId = templId;
- QSet<ClassOrNamespace *> processed;
+ QSet<ClassOrNamespace *> otherProcessed;
while (!origin->_symbols.isEmpty() && origin->_symbols[0]->isBlock()) {
- if (processed.contains(origin))
+ if (otherProcessed.contains(origin))
break;
- processed.insert(origin);
+ otherProcessed.insert(origin);
origin = origin->parent();
}
@@ -1310,7 +1312,7 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, ClassOrNamespac
// Another template that uses the dependent name.
// Ex.: template <class T> class A : public B<T> {};
if (baseTemplId->identifier() != templId->identifier())
- baseBinding = nestedType(baseName, origin);
+ baseBinding = nestedType(baseName, processed, origin);
} else if (const QualifiedNameId *qBaseName = baseName->asQualifiedNameId()) {
// Qualified names in general.
// Ex.: template <class T> class A : public B<T>::Type {};
@@ -1361,7 +1363,8 @@ ClassOrNamespace *ClassOrNamespace::nestedType(const Name *name, ClassOrNamespac
}
if (binding) {
- ClassOrNamespace * baseBinding = binding->lookupType(baseName);
+ ClassOrNamespace * baseBinding
+ = binding->lookupType_helper(baseName, processed, true, this);
if (baseBinding && !knownUsings.contains(baseBinding))
reference->addUsing(baseBinding);
}
@@ -1518,7 +1521,8 @@ ClassOrNamespace *ClassOrNamespace::findOrCreateType(const Name *name, ClassOrNa
return findOrCreateType(q->base(), origin)->findOrCreateType(q->name(), origin, clazz);
} else if (name->isNameId() || name->isTemplateNameId() || name->isAnonymousNameId()) {
- ClassOrNamespace *e = nestedType(name, origin);
+ QSet<ClassOrNamespace *> processed;
+ ClassOrNamespace *e = nestedType(name, &processed, origin);
if (! e) {
e = _factory->allocClassOrNamespace(this);
diff --git a/src/libs/cplusplus/LookupContext.h b/src/libs/cplusplus/LookupContext.h
index 7273fe57d0..b13df5da29 100644
--- a/src/libs/cplusplus/LookupContext.h
+++ b/src/libs/cplusplus/LookupContext.h
@@ -121,7 +121,8 @@ private:
ClassOrNamespace *findBlock_helper(Block *block, QSet<ClassOrNamespace *> *processed,
bool searchInEnclosingScope);
- ClassOrNamespace *nestedType(const Name *name, ClassOrNamespace *origin);
+ ClassOrNamespace *nestedType(const Name *name, QSet<ClassOrNamespace *> *processed,
+ ClassOrNamespace *origin);
void instantiateNestedClasses(ClassOrNamespace *enclosingTemplateClass,
Clone &cloner,