aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/qbs/modules/bundle/BundleModule.qbs4
-rw-r--r--src/lib/corelib/api/projectdata.cpp10
-rw-r--r--src/lib/corelib/api/runenvironment.cpp21
-rw-r--r--src/lib/corelib/tools/visualstudioversioninfo.cpp8
-rw-r--r--src/lib/corelib/tools/visualstudioversioninfo.h1
5 files changed, 17 insertions, 27 deletions
diff --git a/share/qbs/modules/bundle/BundleModule.qbs b/share/qbs/modules/bundle/BundleModule.qbs
index edaf78724..e9f9128e2 100644
--- a/share/qbs/modules/bundle/BundleModule.qbs
+++ b/share/qbs/modules/bundle/BundleModule.qbs
@@ -500,9 +500,11 @@ Module {
var fp = inputs["bundle.input"][i].moduleProperty("bundle", "_bundleFilePath");
if (!fp)
throw("Artifact " + inputs["bundle.input"][i].filePath + " has no associated bundle file path");
+ var extraTags = inputs["bundle.input"][i].fileTags.contains("application")
+ ? ["bundle.application-executable"] : [];
artifacts.push({
filePath: fp,
- fileTags: ["bundle.content", "bundle.content.copied"]
+ fileTags: ["bundle.content", "bundle.content.copied"].concat(extraTags)
});
}
diff --git a/src/lib/corelib/api/projectdata.cpp b/src/lib/corelib/api/projectdata.cpp
index ed8b09149..987bd24a4 100644
--- a/src/lib/corelib/api/projectdata.cpp
+++ b/src/lib/corelib/api/projectdata.cpp
@@ -542,6 +542,16 @@ QList<ArtifactData> ProductData::installableArtifacts() const
QString ProductData::targetExecutable() const
{
QBS_ASSERT(isValid(), return QString());
+ if (d->moduleProperties.getModuleProperty(QLatin1String("bundle"),
+ QLatin1String("isBundle")).toBool()) {
+ for (const ArtifactData &ta : targetArtifacts()) {
+ if (ta.fileTags().contains(QLatin1String("bundle.application-executable"))) {
+ if (ta.installData().isInstallable())
+ return ta.installData().localInstallFilePath();
+ return ta.filePath();
+ }
+ }
+ }
for (const ArtifactData &ta : targetArtifacts()) {
if (ta.isExecutable()) {
if (ta.installData().isInstallable())
diff --git a/src/lib/corelib/api/runenvironment.cpp b/src/lib/corelib/api/runenvironment.cpp
index c9095b708..a2caea987 100644
--- a/src/lib/corelib/api/runenvironment.cpp
+++ b/src/lib/corelib/api/runenvironment.cpp
@@ -219,23 +219,8 @@ int RunEnvironment::doRunTarget(const QString &targetBin, const QStringList &arg
QStringList targetArguments = arguments;
const QString completeSuffix = QFileInfo(targetBin).completeSuffix();
- if (targetOS.contains(QLatin1String("ios"))) {
- QString bundlePath = d->resolvedProduct->buildDirectory();
- const bool install = d->resolvedProduct->moduleProperties->qbsPropertyValue(
- QLatin1String("install")).toBool();
- if (install) {
- bundlePath = d->installOptions.installRoot();
- const QString installDir = d->resolvedProduct->moduleProperties->qbsPropertyValue(
- QLatin1String("installDir")).toString();
- bundlePath += QLatin1Char('/') + installDir;
- }
-
- const QString bundleName = d->resolvedProduct->moduleProperties->moduleProperty(
- QLatin1String("bundle"),
- QLatin1String("bundleName")).toString();
- bundlePath += QLatin1Char('/') + bundleName;
-
- QBS_CHECK(targetExecutable.startsWith(bundlePath));
+ if (targetOS.contains(QLatin1String("ios")) || targetOS.contains(QLatin1String("tvos"))) {
+ const QString bundlePath = targetBin + QLatin1String("/..");
if (QFileInfo(targetExecutable = findExecutable(QStringList()
<< QStringLiteral("iostool"))).isExecutable()) {
@@ -256,7 +241,7 @@ int RunEnvironment::doRunTarget(const QString &targetBin, const QStringList &arg
targetArguments << QStringLiteral("--args") << arguments;
} else {
d->logger.qbsLog(LoggerError)
- << Tr::tr("No suitable iOS deployment tools were found in the environment. "
+ << Tr::tr("No suitable deployment tools were found in the environment. "
"Consider installing ios-deploy.");
return EXIT_FAILURE;
}
diff --git a/src/lib/corelib/tools/visualstudioversioninfo.cpp b/src/lib/corelib/tools/visualstudioversioninfo.cpp
index 66c75cf6c..0be420412 100644
--- a/src/lib/corelib/tools/visualstudioversioninfo.cpp
+++ b/src/lib/corelib/tools/visualstudioversioninfo.cpp
@@ -59,7 +59,7 @@ VisualStudioVersionInfo::VisualStudioVersionInfo(const Version &version)
Set<VisualStudioVersionInfo> VisualStudioVersionInfo::knownVersions()
{
Set<VisualStudioVersionInfo> known;
- known << Version(14) << Version(12) << Version(11)
+ known << Version(15) << Version(14) << Version(12) << Version(11)
<< Version(10) << Version(9) << Version(8)
<< Version(7, 1) << Version(7) << Version(6);
return known;
@@ -131,12 +131,6 @@ int VisualStudioVersionInfo::marketingVersion() const
}
}
-Version VisualStudioVersionInfo::clCompilerVersion() const
-{
- return Version(m_version.majorVersion() + (m_version.majorVersion() >= 14 ? 5 : 6),
- m_version.minorVersion() * 10);
-}
-
QString VisualStudioVersionInfo::solutionVersion() const
{
// Visual Studio 2012 finally stabilized the solution version
diff --git a/src/lib/corelib/tools/visualstudioversioninfo.h b/src/lib/corelib/tools/visualstudioversioninfo.h
index 96201f01b..2c3e6d7ea 100644
--- a/src/lib/corelib/tools/visualstudioversioninfo.h
+++ b/src/lib/corelib/tools/visualstudioversioninfo.h
@@ -68,7 +68,6 @@ public:
Version version() const;
int marketingVersion() const;
- Version clCompilerVersion() const;
QString solutionVersion() const;
QString toolsVersion() const;