From deea0022f7ea1bdc48ceafe57c2dfbfd848ac8a8 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 26 Aug 2014 13:26:21 +0200 Subject: Fix library and plugin paths OSX: Move libraries from PlugIns/ to Frameworks/ other: move QmlDesigner plugins to plugins directory Change-Id: Ia266a3514ce6a496061daa044b3781daae0bc272 Reviewed-by: Christian Stenger Reviewed-by: Eike Ziller --- qbs/imports/QtcLibrary.qbs | 2 +- qtcreator.pri | 4 ++-- qtcreator.pro | 8 ++++---- qtcreator.qbs | 4 ++-- src/plugins/qbsprojectmanager/qbsprojectmanager.pro | 2 +- src/plugins/qbsprojectmanager/qbsprojectparser.cpp | 2 +- src/plugins/qmldesigner/plugindestdir.pri | 6 +++--- src/plugins/qmldesigner/qmldesignerplugin.cpp | 2 +- src/qtcreatorlibrary.pri | 1 + src/qtcreatorplugin.pri | 13 ++----------- src/rpath.pri | 1 - src/src.qbs | 4 +--- 12 files changed, 19 insertions(+), 30 deletions(-) diff --git a/qbs/imports/QtcLibrary.qbs b/qbs/imports/QtcLibrary.qbs index 75b395a1c2..6792c834c3 100644 --- a/qbs/imports/QtcLibrary.qbs +++ b/qbs/imports/QtcLibrary.qbs @@ -19,7 +19,7 @@ QtcProduct { flags.push("/INCREMENTAL:NO"); // Speed up startup time when debugging with cdb return flags; } - cpp.installNamePrefix: "@rpath/PlugIns/" + cpp.installNamePrefix: "@rpath/Frameworks/" cpp.rpaths: qbs.targetOS.contains("osx") ? ["@loader_path/..", "@executable_path/.."] : ["$ORIGIN", "$ORIGIN/.."] diff --git a/qtcreator.pri b/qtcreator.pri index cc09e235ec..cf273e412b 100644 --- a/qtcreator.pri +++ b/qtcreator.pri @@ -84,8 +84,8 @@ isEmpty(IDE_BUILD_TREE) { IDE_APP_PATH = $$IDE_BUILD_TREE/bin macx { IDE_APP_TARGET = "Qt Creator" - IDE_LIBRARY_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/PlugIns - IDE_PLUGIN_PATH = $$IDE_LIBRARY_PATH + IDE_LIBRARY_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Frameworks + IDE_PLUGIN_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/PlugIns IDE_LIBEXEC_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Resources IDE_DATA_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Resources IDE_DOC_PATH = $$IDE_DATA_PATH/doc diff --git a/qtcreator.pro b/qtcreator.pro index 36a5f3f9a6..b5b8ae3405 100644 --- a/qtcreator.pro +++ b/qtcreator.pro @@ -45,15 +45,15 @@ exists(src/shared/qbs/qbs.pro) { QBS_RESOURCES_INSTALL_DIR = $${QTC_PREFIX}/share/qtcreator/qbs cache(QBS_RESOURCES_INSTALL_DIR) macx { - QBS_PLUGINS_BUILD_DIR = $${IDE_LIBRARY_PATH} - QBS_APPS_RPATH_DIR = @loader_path/../PlugIns + QBS_PLUGINS_BUILD_DIR = $${IDE_PLUGIN_PATH} + QBS_APPS_RPATH_DIR = @loader_path/../Frameworks } else { - QBS_PLUGINS_BUILD_DIR = $${IDE_BUILD_TREE}/$${IDE_LIBRARY_BASENAME}/qtcreator + QBS_PLUGINS_BUILD_DIR = $${IDE_BUILD_TREE}/$${IDE_LIBRARY_BASENAME}/qtcreator/plugins QBS_APPS_RPATH_DIR = \$\$ORIGIN/../$$IDE_LIBRARY_BASENAME/qtcreator } cache(QBS_PLUGINS_BUILD_DIR) cache(QBS_APPS_RPATH_DIR) - QBS_PLUGINS_INSTALL_DIR = $${QTC_PREFIX}/$${IDE_LIBRARY_BASENAME}/qtcreator + QBS_PLUGINS_INSTALL_DIR = $${QTC_PREFIX}/$${IDE_LIBRARY_BASENAME}/qtcreator/plugins cache(QBS_PLUGINS_INSTALL_DIR) QBS_LIBRARY_DIRNAME = $${IDE_LIBRARY_BASENAME} cache(QBS_LIBRARY_DIRNAME) diff --git a/qtcreator.qbs b/qtcreator.qbs index c0c6bfcea1..c04219488c 100644 --- a/qtcreator.qbs +++ b/qtcreator.qbs @@ -20,7 +20,7 @@ Project { property string libDirName: "lib" property string ide_library_path: { if (qbs.targetOS.contains("osx")) - return ide_app_target + ".app/Contents/PlugIns" + return ide_app_target + ".app/Contents/Frameworks" else if (qbs.targetOS.contains("windows")) return ide_app_path else @@ -28,7 +28,7 @@ Project { } property string ide_plugin_path: { if (qbs.targetOS.contains("osx")) - return ide_library_path + return ide_app_target + ".app/Contents/PlugIns" else if (qbs.targetOS.contains("windows")) return libDirName + "/qtcreator/plugins" else diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.pro b/src/plugins/qbsprojectmanager/qbsprojectmanager.pro index 406c85e15b..65f21669db 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.pro +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.pro @@ -6,7 +6,7 @@ isEmpty(QBS_INSTALL_DIR) { QBS_SOURCE_DIR = $$PWD/../../shared/qbs include($$QBS_SOURCE_DIR/src/lib/corelib/use_corelib.pri) include($$QBS_SOURCE_DIR/src/lib/qtprofilesetup/use_qtprofilesetup.pri) - macx:QMAKE_LFLAGS += -Wl,-rpath,@loader_path/ # Mac: fix rpath for qbscore soname + osx:QMAKE_LFLAGS += -Wl,-rpath,@loader_path/../Frameworks # OS X: fix rpath for qbscore soname } else { include($${QBS_INSTALL_DIR}/include/qbs/use_installed_corelib.pri) include($${QBS_INSTALL_DIR}/include/qbs/use_installed_qtprofilesetup.pri) diff --git a/src/plugins/qbsprojectmanager/qbsprojectparser.cpp b/src/plugins/qbsprojectmanager/qbsprojectparser.cpp index 45e00d92cb..60f50fce7e 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectparser.cpp +++ b/src/plugins/qbsprojectmanager/qbsprojectparser.cpp @@ -172,7 +172,7 @@ QString QbsProjectParser::pluginsBaseDirectory() const + QLatin1String("/../PlugIns")); else return QDir::cleanPath(QCoreApplication::applicationDirPath() - + QLatin1String("/../" IDE_LIBRARY_BASENAME "/qtcreator")); + + QLatin1String("/../" IDE_LIBRARY_BASENAME "/qtcreator/plugins")); } } // namespace Internal diff --git a/src/plugins/qmldesigner/plugindestdir.pri b/src/plugins/qmldesigner/plugindestdir.pri index 2de740f852..c67bb10b51 100644 --- a/src/plugins/qmldesigner/plugindestdir.pri +++ b/src/plugins/qmldesigner/plugindestdir.pri @@ -1,7 +1,7 @@ macx { - DESTDIR = $$IDE_LIBRARY_PATH/QmlDesigner + DESTDIR = $$IDE_PLUGIN_PATH/QmlDesigner } else { - DESTDIR = $$IDE_LIBRARY_PATH/qmldesigner - target.path = $$QTC_PREFIX/$$IDE_LIBRARY_BASENAME/qtcreator/qmldesigner + DESTDIR = $$IDE_PLUGIN_PATH/qmldesigner + target.path = $$QTC_PREFIX/$$IDE_LIBRARY_BASENAME/qtcreator/plugins/qmldesigner INSTALLS += target } diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp index 6049f99705..e07c6d4ae7 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.cpp +++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp @@ -139,7 +139,7 @@ bool QmlDesignerPlugin::initialize(const QStringList & /*arguments*/, QString *e const QString pluginPath = Utils::HostOsInfo::isMacHost() ? QString(QCoreApplication::applicationDirPath() + "/../PlugIns/QmlDesigner") : QString(QCoreApplication::applicationDirPath() + "/../" - + QLatin1String(IDE_LIBRARY_BASENAME) + "/qtcreator/qmldesigner"); + + QLatin1String(IDE_LIBRARY_BASENAME) + "/qtcreator/plugins/qmldesigner"); data->pluginManager.setPluginPaths(QStringList() << pluginPath); createDesignModeWidget(); diff --git a/src/qtcreatorlibrary.pri b/src/qtcreatorlibrary.pri index e74d50a0e2..700f5b495a 100644 --- a/src/qtcreatorlibrary.pri +++ b/src/qtcreatorlibrary.pri @@ -12,6 +12,7 @@ win32 { DESTDIR = $$IDE_LIBRARY_PATH +osx: QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/Frameworks/ include(rpath.pri) TARGET = $$qtLibraryName($$TARGET) diff --git a/src/qtcreatorplugin.pri b/src/qtcreatorplugin.pri index 6b9b0237cf..a1fd8253d9 100644 --- a/src/qtcreatorplugin.pri +++ b/src/qtcreatorplugin.pri @@ -110,17 +110,8 @@ pluginspec2json.CONFIG += no_link moc_header.depends += $$pluginspec2json.output QMAKE_EXTRA_COMPILERS += pluginspec2json -macx { - QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/PlugIns/ - QMAKE_LFLAGS += -Wl,-rpath,@loader_path/../,-rpath,@executable_path/../ -} else:linux-* { - #do the rpath by hand since it's not possible to use ORIGIN in QMAKE_RPATHDIR - QMAKE_RPATHDIR += \$\$ORIGIN - QMAKE_RPATHDIR += \$\$ORIGIN/.. - IDE_PLUGIN_RPATH = $$join(QMAKE_RPATHDIR, ":") - QMAKE_LFLAGS += -Wl,-z,origin \'-Wl,-rpath,$${IDE_PLUGIN_RPATH}\' - QMAKE_RPATHDIR = -} +osx: QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/PlugIns/ +include(rpath.pri) contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols diff --git a/src/rpath.pri b/src/rpath.pri index de56f11ae5..0d8911a4d9 100644 --- a/src/rpath.pri +++ b/src/rpath.pri @@ -1,5 +1,4 @@ macx { - QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/PlugIns/ QMAKE_LFLAGS += -Wl,-rpath,@loader_path/../,-rpath,@executable_path/../ } else:linux-* { #do the rpath by hand since it's not possible to use ORIGIN in QMAKE_RPATHDIR diff --git a/src/src.qbs b/src/src.qbs index 08562c12fb..0ef11cb4a0 100644 --- a/src/src.qbs +++ b/src/src.qbs @@ -30,9 +30,7 @@ Project { ? ["@loader_path/" + FileInfo.relativePath(appInstallDir, libInstallDir)] : ["$ORIGIN/..", "$ORIGIN/../" + project.ide_library_path] property string resourcesInstallDir: project.ide_data_path + "/qbs" - property string pluginsInstallDir: qbs.targetOS.contains("windows") - ? project.libDirName + "/qtcreator" - : project.ide_library_path + property string pluginsInstallDir: project.ide_plugin_path property string appInstallDir: project.ide_bin_path property string relativePluginsPath: FileInfo.relativePath(appInstallDir, pluginsInstallDir) property string relativeSearchPath: FileInfo.relativePath(appInstallDir, -- cgit v1.2.3