summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2013-11-19 16:58:16 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-19 17:31:10 +0100
commite8f3b904205a8863c2fe9b0d1b020b27feb0c834 (patch)
treeb70799801f4248422f19d28f008f1e6edc352db8
parente7000fee039cfc60678f8703b8633694b5fa1070 (diff)
Fix the dyld error when running examples and tests on Mac.
Make sure that the install_name is set properly when linking the core library. It would normally be possible to set this to <(PRODUCT_DIR) and let gyp handle this, but this isn't supported (see gyp.XcodeSettings.GetInstallName) so let qmake resolve the path. This should be removed to use something relative to @loader_path that would resolve this path to the Qt module libraries once we have proper installation logic in place for the core library. Change-Id: Id617afdf95c4aede6802e55b05deffe3218be82e Reviewed-by: Andras Becsi <andras.becsi@digia.com>
-rw-r--r--build/qmake/mkspecs/features/gyp_generator.prf5
-rw-r--r--lib/lib.pro5
2 files changed, 10 insertions, 0 deletions
diff --git a/build/qmake/mkspecs/features/gyp_generator.prf b/build/qmake/mkspecs/features/gyp_generator.prf
index 5288e7c19..6ad3e476c 100644
--- a/build/qmake/mkspecs/features/gyp_generator.prf
+++ b/build/qmake/mkspecs/features/gyp_generator.prf
@@ -139,6 +139,11 @@ GYP_CONTENTS += " ]," \
" }," \
" },"
}
+!isEmpty(GYP_DYLIB_INSTALL_NAME_BASE) {
+ GYP_CONTENTS += " 'xcode_settings': {" \
+ " 'DYLIB_INSTALL_NAME_BASE': '$$GYP_DYLIB_INSTALL_NAME_BASE'," \
+ " },"
+}
# Source files to compile
GYP_CONTENTS += " 'sources': ["
diff --git a/lib/lib.pro b/lib/lib.pro
index 4eb076467..682388217 100644
--- a/lib/lib.pro
+++ b/lib/lib.pro
@@ -9,6 +9,11 @@ TEMPLATE = lib
TARGET = Qt5WebEngineCore
+# gyp sets the default install name to /usr/local/lib and we need the module libraries to
+# know its install_name so that they can let the dynamic linker load the core library.
+# FIXME: Remove this and put it in qtwebengine.gypi once we can use a relative path to @loader_path.
+macx: GYP_DYLIB_INSTALL_NAME_BASE = $$getOutDir()/$$getConfigDir()
+
QT += qml quick
QT_PRIVATE += qml-private quick-private gui-private core-private
qtHaveModule(v8): QT_PRIVATE += v8-private