summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@theqtcompany.com>2015-10-19 12:34:24 +0200
committerEike Ziller <eike.ziller@theqtcompany.com>2015-10-19 15:07:36 +0000
commit7fa6d5194260540de6f632fb93af5a2ba1e505c8 (patch)
treef5a6e37465298a4e029cd1a9e1d3fcd649d4f669
parent51ed0da5a97b562ee2fe664bc3d4316f7ee65385 (diff)
downloadqt-creator-7fa6d5194260540de6f632fb93af5a2ba1e505c8.tar.gz
Fix deployment of qml2puppet
The move to LIBEXEC_PATH broke running the puppet from the packages on Linux and OS X, because there it cannot find the platform plugin anymore. We need to add a qt.conf for it, and because Qt Creator.app/Contents/ Resources already contains the qt.conf for Qt Creator itself, the puppet must also move to its own subdirectory on OS X. Change-Id: I8e8cc48c49a01e10c7d7d3cc4c73020195cd5ca9 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
-rw-r--r--dist/installer/mac/qmldesigner_qt.conf4
-rwxr-xr-xscripts/deployqt.py18
-rwxr-xr-xscripts/deployqtHelper_mac.sh8
-rw-r--r--src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp5
-rw-r--r--src/tools/qml2puppet/qml2puppet/qml2puppet.pro3
5 files changed, 27 insertions, 11 deletions
diff --git a/dist/installer/mac/qmldesigner_qt.conf b/dist/installer/mac/qmldesigner_qt.conf
new file mode 100644
index 0000000000..c10c195bdd
--- /dev/null
+++ b/dist/installer/mac/qmldesigner_qt.conf
@@ -0,0 +1,4 @@
+[Paths]
+Imports = ../../Imports/qtquick1
+Qml2Imports = ../../Imports/qtquick2
+Plugins = ../../PlugIns
diff --git a/scripts/deployqt.py b/scripts/deployqt.py
index 9b3b0018b8..1ddbf61d36 100755
--- a/scripts/deployqt.py
+++ b/scripts/deployqt.py
@@ -202,14 +202,15 @@ def copy_qt_libs(install_dir, qt_libs_dir, qt_plugin_dir, qt_import_dir, qt_qml_
shutil.rmtree(target)
shutil.copytree(qt_qml_dir, target, ignore=copy_ignore_func, symlinks=True)
-def add_qt_conf(install_dir):
- print "Creating qt.conf:"
- f = open(install_dir + '/bin/qt.conf', 'w')
+def add_qt_conf(target_dir, install_dir):
+ qtconf_filepath = os.path.join(target_dir, 'qt.conf')
+ print('Creating qt.conf in "{0}":'.format(qtconf_filepath))
+ f = open(qtconf_filepath, 'w')
f.write('[Paths]\n')
- f.write('Libraries=../lib/qtcreator\n')
- f.write('Plugins=plugins\n')
- f.write('Imports=imports\n')
- f.write('Qml2Imports=qml\n')
+ f.write('Libraries={0}\n'.format(os.path.relpath(os.path.join(install_dir, 'lib', 'qtcreator'), target_dir).replace('\\', '/')))
+ f.write('Plugins={0}\n'.format(os.path.relpath(os.path.join(install_dir, 'bin', 'plugins'), target_dir).replace('\\', '/')))
+ f.write('Imports={0}\n'.format(os.path.relpath(os.path.join(install_dir, 'bin', 'imports'), target_dir).replace('\\', '/')))
+ f.write('Qml2Imports={0}\n'.format(os.path.relpath(os.path.join(install_dir, 'bin', 'qml'), target_dir).replace('\\', '/')))
f.close()
def copy_translations(install_dir, qt_tr_dir):
@@ -330,7 +331,8 @@ def main():
if not sys.platform.startswith('win'):
fix_rpaths(chrpath_bin, install_dir)
- add_qt_conf(install_dir)
+ add_qt_conf(os.path.join(install_dir, 'libexec', 'qtcreator'), install_dir) # e.g. for qml2puppet
+ add_qt_conf(os.path.join(install_dir, 'bin'), install_dir)
if __name__ == "__main__":
if sys.platform == 'darwin':
diff --git a/scripts/deployqtHelper_mac.sh b/scripts/deployqtHelper_mac.sh
index b864c98c1c..5ddb9cb9e0 100755
--- a/scripts/deployqtHelper_mac.sh
+++ b/scripts/deployqtHelper_mac.sh
@@ -46,6 +46,12 @@ if [ ! -f "$1/Contents/Resources/ios/qt.conf" ]; then
cp -f "$(dirname "${BASH_SOURCE[0]}")/../dist/installer/mac/ios_qt.conf" "$1/Contents/Resources/ios/qt.conf" || exit 1
fi
+# copy qml2puppet's qt.conf
+if [ ! -f "$1/Contents/Resources/qmldesigner/qt.conf" ]; then
+ echo "- Copying qmldesigner/qt.conf"
+ cp -f "$(dirname "${BASH_SOURCE[0]}")/../dist/installer/mac/qmldesigner_qt.conf" "$1/Contents/Resources/qmldesigner/qt.conf" || exit 1
+fi
+
# copy Qt translations
# check for known existing translation to avoid copying multiple times
if [ ! -f "$1/Contents/Resources/translations/qt_de.qm" ]; then
@@ -82,7 +88,7 @@ fi
if [ ! -d "$1/Contents/Frameworks/QtCore.framework" ]; then
- qml2puppetapp="$1/Contents/Resources/qml2puppet"
+ qml2puppetapp="$1/Contents/Resources/qmldesigner/qml2puppet"
if [ -f "$qml2puppetapp" ]; then
qml2puppetArgument="-executable=$qml2puppetapp"
fi
diff --git a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
index 78b5909d3a..97cf34f77e 100644
--- a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
@@ -291,7 +291,10 @@ QString PuppetCreator::qmlPuppetDirectory(PuppetType puppetType) const
QString PuppetCreator::defaultPuppetFallbackDirectory()
{
- return Core::ICore::libexecPath();
+ if (Utils::HostOsInfo::isMacHost())
+ return Core::ICore::libexecPath() + QLatin1String("/qmldesigner");
+ else
+ return Core::ICore::libexecPath();
}
QString PuppetCreator::qmlPuppetFallbackDirectory() const
diff --git a/src/tools/qml2puppet/qml2puppet/qml2puppet.pro b/src/tools/qml2puppet/qml2puppet/qml2puppet.pro
index bc45de844d..9644cf4bca 100644
--- a/src/tools/qml2puppet/qml2puppet/qml2puppet.pro
+++ b/src/tools/qml2puppet/qml2puppet/qml2puppet.pro
@@ -4,7 +4,8 @@ TEMPLATE = app
include(../../../../qtcreator.pri)
-DESTDIR = $$IDE_LIBEXEC_PATH
+osx: DESTDIR = $$IDE_LIBEXEC_PATH/qmldesigner
+else: DESTDIR = $$IDE_LIBEXEC_PATH
include(../../../rpath.pri)