diff options
-rw-r--r-- | dist/installer/mac/ios_qt.conf | 5 | ||||
-rwxr-xr-x | scripts/deployqtHelper_mac.sh | 8 | ||||
-rw-r--r-- | src/plugins/coreplugin/icore.cpp | 11 | ||||
-rw-r--r-- | src/plugins/coreplugin/icore.h | 1 | ||||
-rw-r--r-- | src/plugins/ios/iosconfigurations.cpp | 8 | ||||
-rw-r--r-- | src/plugins/ios/iosconfigurations.h | 1 | ||||
-rw-r--r-- | src/plugins/ios/iostoolhandler.cpp | 5 | ||||
-rw-r--r-- | src/tools/3rdparty/iossim/iossim.pro | 3 | ||||
-rw-r--r-- | src/tools/3rdparty/iossim/iossim.qbs | 2 | ||||
-rw-r--r-- | src/tools/QtcTool.qbs | 4 | ||||
-rw-r--r-- | src/tools/iostool/iostool.pro | 5 | ||||
-rw-r--r-- | src/tools/iostool/iostool.qbs | 2 |
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 0000000000..11b9a3ab64 --- /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 1151a02141..daa73bf12d 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 3e7bb7398f..38bf0a128f 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 e036e083ea..5f4fbdb14f 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 19f0a4d8a8..fb4012355c 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 0bb0f1abf3..31ba3b251a 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 d7fc26d967..c3643c9e37 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 77f1604db5..2e06970c59 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 34a313777f..5d77d9f189 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 d9b25e794c..5494d0dc5d 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 fe3392c667..2870efaee2 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 66c738d5b4..d0ed9ff9d5 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" } |