diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-02-28 11:27:02 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-07 18:19:19 +0100 |
commit | 7d371328265a4912fb323779adf95cc922a83541 (patch) | |
tree | 2e7a24c90828a11f0879e5877171a118a7e1fd92 /src/core/core_gyp_generator.pro | |
parent | a2e45ded2dd1a9c183f1ff4ea84057f5c43972c5 (diff) |
Deploy QtWebEngineCore as a Qt module
This delegates the linking step from ninja to qmake so that we can
let qmake decide the destination of the target itself, easing the
deployment and installation logic across platforms.
The module is only deployed as a binary and no header are available
outside of the source tree. This is only to make sure that the
dependence of the QtWebEngine and QtWebEngineWidgets libraries on it
is resolved at runtime exactly the same way as with other Qt modules,
on all platforms.
Ninja still takes care of the compilation and gyp lets qmake know how
and what to link by dumping the list of flags and input files in a
generated .pri file.
This has to be done in a separate .pro file so that we can make sure
that ninja is run inconditionally before make reaches the dependency
check in core_module.pro, ensured by the parent Makefile.
Note 1: This patch removes RPATH hacks that are no longer necessary
Note 2: Other targets like ffmpegsumo are still linked by ninja. The
same logic could be moved to a qmake file but this require some more
work to make sure that some switches (e.g. -stdlib=libc++) are
coordinated between gyp and qmake.
Change-Id: If65968547bde5b9cf732e31e97931c17ae1921a7
Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'src/core/core_gyp_generator.pro')
-rw-r--r-- | src/core/core_gyp_generator.pro | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/src/core/core_gyp_generator.pro b/src/core/core_gyp_generator.pro index a75eb733a..25e105da6 100644 --- a/src/core/core_gyp_generator.pro +++ b/src/core/core_gyp_generator.pro @@ -7,12 +7,8 @@ GYPINCLUDES += qtwebengine.gypi 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() +# This must match the target name in core_module.pro to allow it to do the linking part. +TARGET = QtWebEngineCore QT += qml quick QT_PRIVATE += qml-private quick-private gui-private core-private @@ -104,14 +100,3 @@ HEADERS = \ yuv_video_node.h \ qrc_protocol_handler_qt.h \ url_request_qrc_job_qt.h - -VERSION = $$MODULE_VERSION -win32:CONFIG += skip_target_version_ext -load(resolve_target) -TARGET_NAME = $$basename(QMAKE_RESOLVED_TARGET) -TARGET_NAME = $$replace(TARGET_NAME, .$${VERSION},) - -target.files = $$getOutDir()/$$getConfigDir()/lib/$$TARGET_NAME -target.CONFIG += no_check_exist # Trust us, qmake... -target.path = $$[QT_INSTALL_LIBS] -INSTALLS += target |