aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@digia.com>2013-10-02 16:09:23 +0200
committerEike Ziller <eike.ziller@digia.com>2013-10-07 15:32:10 +0200
commitc05e9d52b2721d442c62e1ce4ed1058a756bf396 (patch)
treefe7075c906d2d8b6a455c5b2041b874a4d1af58b
parent810274d038dc1daf22db42de1b5318d5157ffb85 (diff)
Ios: Move tools to <libexec>/ios, make them lowercase, fix deployment
They can't be directly in libexec path, because then they couldn't have their own qt.conf for resolving the Cocoa platform plugin. Change-Id: I8f3fae85c548747a7d826c078c7ac1fb0a836b43 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
-rw-r--r--dist/installer/mac/ios_qt.conf5
-rwxr-xr-xscripts/deployqtHelper_mac.sh8
-rw-r--r--src/plugins/coreplugin/icore.cpp11
-rw-r--r--src/plugins/coreplugin/icore.h1
-rw-r--r--src/plugins/ios/iosconfigurations.cpp8
-rw-r--r--src/plugins/ios/iosconfigurations.h1
-rw-r--r--src/plugins/ios/iostoolhandler.cpp5
-rw-r--r--src/tools/3rdparty/iossim/iossim.pro3
-rw-r--r--src/tools/3rdparty/iossim/iossim.qbs2
-rw-r--r--src/tools/QtcTool.qbs4
-rw-r--r--src/tools/iostool/iostool.pro5
-rw-r--r--src/tools/iostool/iostool.qbs2
12 files changed, 39 insertions, 16 deletions
diff --git a/dist/installer/mac/ios_qt.conf b/dist/installer/mac/ios_qt.conf
new file mode 100644
index 00000000000..11b9a3ab644
--- /dev/null
+++ b/dist/installer/mac/ios_qt.conf
@@ -0,0 +1,5 @@
+[Paths]
+# prefix must be one up because Qt makes it relative to the app's Contents/ path,
+# even if that doesn't exist!
+Prefix = ..
+Plugins = ../../PlugIns
diff --git a/scripts/deployqtHelper_mac.sh b/scripts/deployqtHelper_mac.sh
index 1151a021416..daa73bf12db 100755
--- a/scripts/deployqtHelper_mac.sh
+++ b/scripts/deployqtHelper_mac.sh
@@ -41,10 +41,16 @@ fi
macdeployqt "$1" \
"-executable=$1/Contents/Resources/qtpromaker" \
- "-executable=$1/Contents/Resources/sdktool" "$qmlpuppetArgument" "$qml2puppetArgument" || exit 1
+ "-executable=$1/Contents/Resources/sdktool" \
+ "-executable=$1/Contents/Resources/ios/iostool" \
+ "-executable=$1/Contents/Resources/ios/iossim" \
+ "$qmlpuppetArgument" "$qml2puppetArgument" || exit 1
# copy qt creator qt.conf
cp -f "$(dirname "${BASH_SOURCE[0]}")/../dist/installer/mac/qt.conf" "$1/Contents/Resources/qt.conf" || exit 1
+# copy ios tools' qt.conf
+cp -f "$(dirname "${BASH_SOURCE[0]}")/../dist/installer/mac/ios_qt.conf" "$1/Contents/Resources/ios/qt.conf" || exit 1
+
# copy Qt translations
cp "$2"/*.qm "$1/Contents/Resources/translations/" || exit 1
diff --git a/src/plugins/coreplugin/icore.cpp b/src/plugins/coreplugin/icore.cpp
index 3e7bb7398fa..38bf0a128f2 100644
--- a/src/plugins/coreplugin/icore.cpp
+++ b/src/plugins/coreplugin/icore.cpp
@@ -392,6 +392,17 @@ QString ICore::documentationPath()
return QDir::cleanPath(QCoreApplication::applicationDirPath() + docPath);
}
+/*!
+ Returns the path to the command line tools that are shipped with \QC (corresponding
+ to the IDE_LIBEXEC_PATH qmake variable).
+ */
+QString ICore::libexecPath()
+{
+ const QString libexecPath = QLatin1String(Utils::HostOsInfo::isMacHost()
+ ? "/../Resources" : "");
+ return QDir::cleanPath(QCoreApplication::applicationDirPath() + libexecPath);
+}
+
static QString compilerString()
{
#if defined(Q_CC_CLANG) // must be before GNU, because clang claims to be GNU too
diff --git a/src/plugins/coreplugin/icore.h b/src/plugins/coreplugin/icore.h
index e036e083ea3..5f4fbdb14f1 100644
--- a/src/plugins/coreplugin/icore.h
+++ b/src/plugins/coreplugin/icore.h
@@ -88,6 +88,7 @@ public:
static QString resourcePath();
static QString userResourcePath();
static QString documentationPath();
+ static QString libexecPath();
static QString versionString();
static QString buildCompatibilityString();
diff --git a/src/plugins/ios/iosconfigurations.cpp b/src/plugins/ios/iosconfigurations.cpp
index 19f0a4d8a84..fb4012355c1 100644
--- a/src/plugins/ios/iosconfigurations.cpp
+++ b/src/plugins/ios/iosconfigurations.cpp
@@ -103,14 +103,6 @@ void IosConfigurations::setConfig(const IosConfig &devConfigs)
emit updated();
}
-FileName IosConfigurations::iosToolPath() const
-{
- FileName res = FileName::fromString(QCoreApplication::applicationDirPath()
- + QLatin1String("/iosTool"));
- return res;
-}
-
-
bool equalKits(Kit *a, Kit *b)
{
return ToolChainKitInformation::toolChain(a) == ToolChainKitInformation::toolChain(b)
diff --git a/src/plugins/ios/iosconfigurations.h b/src/plugins/ios/iosconfigurations.h
index 0bb0f1abf3f..31ba3b251a8 100644
--- a/src/plugins/ios/iosconfigurations.h
+++ b/src/plugins/ios/iosconfigurations.h
@@ -64,7 +64,6 @@ public:
static IosConfigurations &instance();
IosConfig config() const { return m_config; }
void setConfig(const IosConfig &config);
- Utils::FileName iosToolPath() const;
QStringList sdkTargets();
void updateSimulators();
diff --git a/src/plugins/ios/iostoolhandler.cpp b/src/plugins/ios/iostoolhandler.cpp
index d7fc26d9672..c3643c9e370 100644
--- a/src/plugins/ios/iostoolhandler.cpp
+++ b/src/plugins/ios/iostoolhandler.cpp
@@ -30,6 +30,7 @@
#include "iostoolhandler.h"
#include "iosconfigurations.h"
+#include <coreplugin/icore.h>
#include <utils/qtcassert.h>
#include <utils/fileutils.h>
@@ -924,13 +925,13 @@ void IosSimulatorToolHandlerPrivate::addDeviceArguments(QStringList &args) const
QString IosToolHandler::iosDeviceToolPath()
{
- QString res = QCoreApplication::applicationDirPath() + QLatin1String("/iosTool");
+ QString res = Core::ICore::libexecPath() + QLatin1String("/ios/iostool");
return res;
}
QString IosToolHandler::iosSimulatorToolPath()
{
- QString res = QCoreApplication::applicationDirPath() + QLatin1String("/iossim");
+ QString res = Core::ICore::libexecPath() + QLatin1String("/ios/iossim");
return res;
}
diff --git a/src/tools/3rdparty/iossim/iossim.pro b/src/tools/3rdparty/iossim/iossim.pro
index 77f1604db54..2e06970c59d 100644
--- a/src/tools/3rdparty/iossim/iossim.pro
+++ b/src/tools/3rdparty/iossim/iossim.pro
@@ -34,7 +34,8 @@ iPhoneSimulatorRemoteClientDirectLinking {
TEMPLATE = app
-DESTDIR = $$IDE_BIN_PATH
+# put into a subdir, so we can deploy a separate qt.conf for it
+DESTDIR = $$IDE_LIBEXEC_PATH/ios
include(../../../rpath.pri)
OBJECTIVE_SOURCES += \
diff --git a/src/tools/3rdparty/iossim/iossim.qbs b/src/tools/3rdparty/iossim/iossim.qbs
index 34a313777f1..5d77d9f1891 100644
--- a/src/tools/3rdparty/iossim/iossim.qbs
+++ b/src/tools/3rdparty/iossim/iossim.qbs
@@ -24,4 +24,6 @@ QtcTool {
"-fobjc-link-runtime"])
cpp.frameworks: base.concat(["Foundation", "CoreServices", "ApplicationServices", "IOKit"])
cpp.frameworkPaths: base.concat("/System/Library/PrivateFrameworks")
+
+ toolInstallDir: project.ide_libexec_path + "/ios"
}
diff --git a/src/tools/QtcTool.qbs b/src/tools/QtcTool.qbs
index d9b25e794cd..5494d0dc5d8 100644
--- a/src/tools/QtcTool.qbs
+++ b/src/tools/QtcTool.qbs
@@ -9,9 +9,11 @@ Application {
return ["-Wl,-s"]
}
+ property string toolInstallDir: project.ide_libexec_path
+
Group {
fileTagsFilter: product.type
qbs.install: true
- qbs.installDir: project.ide_libexec_path
+ qbs.installDir: toolInstallDir
}
}
diff --git a/src/tools/iostool/iostool.pro b/src/tools/iostool/iostool.pro
index fe3392c6678..2870efaee2a 100644
--- a/src/tools/iostool/iostool.pro
+++ b/src/tools/iostool/iostool.pro
@@ -1,4 +1,4 @@
-TARGET = iosTool
+TARGET = iostool
QT += core
QT += gui xml
@@ -17,7 +17,8 @@ TEMPLATE = app
include(../../../qtcreator.pri)
-DESTDIR = $$IDE_BIN_PATH
+# put into a subdir, so we can deploy a separate qt.conf for it
+DESTDIR = $$IDE_LIBEXEC_PATH/ios
include(../../rpath.pri)
SOURCES += main.cpp \
diff --git a/src/tools/iostool/iostool.qbs b/src/tools/iostool/iostool.qbs
index 66c738d5b45..d0ed9ff9d52 100644
--- a/src/tools/iostool/iostool.qbs
+++ b/src/tools/iostool/iostool.qbs
@@ -18,4 +18,6 @@ QtcTool {
cpp.frameworks: base.concat(["CoreFoundation", "CoreServices", "IOKit", "Security",
"SystemConfiguration"])
cpp.libraries: base.concat(["ssl", "bz2"])
+
+ toolInstallDir: project.ide_libexec_path + "/ios"
}