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>
This commit is contained in:
Eike Ziller
2013-10-02 16:09:23 +02:00
parent 810274d038
commit c05e9d52b2
12 changed files with 39 additions and 16 deletions

5
dist/installer/mac/ios_qt.conf vendored Normal file
View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -88,6 +88,7 @@ public:
static QString resourcePath();
static QString userResourcePath();
static QString documentationPath();
static QString libexecPath();
static QString versionString();
static QString buildCompatibilityString();

View File

@@ -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)

View File

@@ -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();

View File

@@ -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;
}

View File

@@ -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 += \

View File

@@ -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"
}

View File

@@ -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
}
}

View File

@@ -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 \

View File

@@ -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"
}