Commit 6d5a5aff authored by Christian Kandeler's avatar Christian Kandeler

Use a proper libexec path for Unix builds.

Change-Id: I036c806af47f07e60408a90d3a4e181a6773f866
Reviewed-by: default avatarOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: default avatarEike Ziller <eike.ziller@theqtcompany.com>
parent bc6b81fb
......@@ -88,10 +88,13 @@ macx {
IDE_APP_TARGET = qtcreator
IDE_LIBRARY_PATH = $$IDE_BUILD_TREE/$$IDE_LIBRARY_BASENAME/qtcreator
IDE_PLUGIN_PATH = $$IDE_LIBRARY_PATH/plugins
IDE_LIBEXEC_PATH = $$IDE_APP_PATH # FIXME
IDE_DATA_PATH = $$IDE_BUILD_TREE/share/qtcreator
IDE_DOC_PATH = $$IDE_BUILD_TREE/share/doc/qtcreator
IDE_BIN_PATH = $$IDE_APP_PATH
win32: \
IDE_LIBEXEC_PATH = $$IDE_APP_PATH
else: \
IDE_LIBEXEC_PATH = $$IDE_BUILD_TREE/libexec/qtcreator
!isEqual(IDE_SOURCE_TREE, $$IDE_BUILD_TREE):copydata = 1
}
......
......@@ -41,8 +41,9 @@ Project {
? ide_app_target + ".app/Contents/Resources"
: "share/qtcreator"
property string ide_libexec_path: qbs.targetOS.contains("osx")
? ide_data_path
: ide_app_path
? ide_data_path : qbs.targetOS.contains("windows")
? ide_app_path
: "libexec/qtcreator"
property string ide_doc_path: qbs.targetOS.contains("osx")
? ide_data_path + "/doc"
: "share/doc/qtcreator"
......
......@@ -117,6 +117,9 @@ def fix_rpaths(chrpath_bin, install_dir):
#TODO remove library_helper once all libs moved out of bin/ on linux
filenames = [filename for filename in filenames if check_unix_binary_exec_helper(dirpath, filename) or check_unix_library_helper(dirpath, filename)]
fix_rpaths_helper(chrpath_bin, install_dir, dirpath, filenames)
for dirpath, dirnames, filenames in os.walk(os.path.join(install_dir, 'libexec', 'qtcreator')):
filenames = [filename for filename in filenames if check_unix_binary_exec_helper(dirpath, filename)]
fix_rpaths_helper(chrpath_bin, install_dir, dirpath, filenames)
for dirpath, dirnames, filenames in os.walk(os.path.join(install_dir, 'lib')):
filenames = [filename for filename in filenames if check_unix_library_helper(dirpath, filename)]
fix_rpaths_helper(chrpath_bin, install_dir, dirpath, filenames)
......
......@@ -43,6 +43,6 @@ osx {
CONFIG -= app_bundle
QMAKE_LFLAGS += -Wl,-sectcreate,__TEXT,__info_plist,$$system_quote($$PWD/Info.plist)
} else {
target.path = $$QTC_PREFIX/bin
target.path = $$QTC_PREFIX/$$relative_path($$IDE_LIBEXEC_PATH, $$IDE_BUILD_TREE)
INSTALLS += target
}
......@@ -17,5 +17,5 @@ build_all:!build_pass {
CONFIG += release
}
target.path = $$QTC_PREFIX/bin # FIXME: libexec, more or less
target.path = $$QTC_PREFIX/$$relative_path($$IDE_LIBEXEC_PATH, $$IDE_BUILD_TREE)
INSTALLS += target
......@@ -20,5 +20,5 @@ unix {
LIBS += -lshell32
}
target.path = $$QTC_PREFIX/bin # FIXME: libexec, more or less
target.path = $$QTC_PREFIX/$$relative_path($$IDE_LIBEXEC_PATH, $$IDE_BUILD_TREE)
INSTALLS += target
......@@ -432,9 +432,21 @@ QString ICore::documentationPath()
*/
QString ICore::libexecPath()
{
const QString libexecPath = QLatin1String(Utils::HostOsInfo::isMacHost()
? "/../Resources" : "");
return QDir::cleanPath(QCoreApplication::applicationDirPath() + libexecPath);
QString path;
switch (Utils::HostOsInfo::hostOs()) {
case Utils::OsTypeWindows:
path = QCoreApplication::applicationDirPath();
break;
case Utils::OsTypeMac:
path = QCoreApplication::applicationDirPath() + QLatin1String("/../Resources");
break;
case Utils::OsTypeLinux:
case Utils::OsTypeOtherUnix:
case Utils::OsTypeOther:
path = QCoreApplication::applicationDirPath() + QLatin1String("/../libexec/qtcreator");
break;
}
return QDir::cleanPath(path);
}
static QString compilerString()
......
......@@ -6,6 +6,6 @@ TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
DESTDIR = $${IDE_LIBEXEC_PATH}
target.path = $${QTC_PREFIX}/bin # FIXME: libexec, more or less
DESTDIR = $$IDE_LIBEXEC_PATH
target.path = $$QTC_PREFIX/$$relative_path($$IDE_LIBEXEC_PATH, $$IDE_BUILD_TREE)
INSTALLS += target
......@@ -4,7 +4,7 @@ TEMPLATE = app
include(../../../../qtcreator.pri)
DESTDIR = $$IDE_BIN_PATH
DESTDIR = $$IDE_LIBEXEC_PATH
include(../../../rpath.pri)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment