diff options
author | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2016-04-19 13:39:48 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-05-04 17:26:28 +0000 |
commit | 37d68796ce8e9e6ddec39342f955a349d2298920 (patch) | |
tree | c9b7329a93a90c4a72584329359303b5a18b4821 | |
parent | 7dde2a0d8b65f963268f9bacbcb96601ac34327b (diff) |
Provide a debug version of QtWebEngineProcess
We never shipped a debug version of the QtWebEngineProcess executable.
This is problematic in debug_and_release builds when a debug application
starts the release version of QtWebEngineProcess. The Qt libraries will
then be loaded twice, in debug and release.
Also, in development setups where only the debug libraries are deployed,
the release version of QtWebEngineProcess cannot be loaded.
Task-number: QTBUG-49493
Change-Id: I2f7bfb9c7cf8e869dc91007f4e967a713f438065
Reviewed-by: Michael BrĂ¼ning <michael.bruning@theqtcompany.com>
-rw-r--r-- | src/core/core_gyp_generator.pro | 1 | ||||
-rw-r--r-- | src/core/gyp_run.pro | 3 | ||||
-rw-r--r-- | src/core/qtwebengine_extras.gypi | 22 | ||||
-rw-r--r-- | src/process/process.pro | 2 | ||||
-rw-r--r-- | tools/qmake/mkspecs/features/default_pre.prf | 12 |
5 files changed, 37 insertions, 3 deletions
diff --git a/src/core/core_gyp_generator.pro b/src/core/core_gyp_generator.pro index 09df6b48d..3e6a9eac0 100644 --- a/src/core/core_gyp_generator.pro +++ b/src/core/core_gyp_generator.pro @@ -13,7 +13,6 @@ include(core_common.pri) DEFINES += QT_NO_KEYWORDS \ QT_USE_QSTRINGBUILDER \ Q_FORWARD_DECLARE_OBJC_CLASS=QT_FORWARD_DECLARE_CLASS \ - QTWEBENGINEPROCESS_NAME=\\\"$$QTWEBENGINEPROCESS_NAME\\\" \ QTWEBENGINECORE_VERSION_STR=\\\"$$MODULE_VERSION\\\" \ BUILDING_CHROMIUM diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro index f7fca8fa8..2e2422dce 100644 --- a/src/core/gyp_run.pro +++ b/src/core/gyp_run.pro @@ -16,7 +16,8 @@ cross_compile { mac: include(config/mac_osx.pri) win32: include(config/windows.pri) } - +GYP_CONFIG += qtwe_process_name_debug=$$QTWEBENGINEPROCESS_NAME_DEBUG +GYP_CONFIG += qtwe_process_name_release=$$QTWEBENGINEPROCESS_NAME_RELEASE GYP_CONFIG += disable_glibcxx_debug=1 !webcore_debug: GYP_CONFIG += remove_webcore_debug_symbols=1 !v8base_debug: GYP_CONFIG += remove_v8base_debug_symbols=1 diff --git a/src/core/qtwebengine_extras.gypi b/src/core/qtwebengine_extras.gypi index a5de08b55..229421efa 100644 --- a/src/core/qtwebengine_extras.gypi +++ b/src/core/qtwebengine_extras.gypi @@ -63,6 +63,28 @@ 'defines': [ 'TOOLKIT_QT', ], + 'configurations': { + 'Debug': { + 'defines': [ + 'QTWEBENGINEPROCESS_NAME="<(qtwe_process_name_debug)"' + ], + }, + 'Debug_x64': { + 'defines': [ + 'QTWEBENGINEPROCESS_NAME="<(qtwe_process_name_debug)"' + ], + }, + 'Release': { + 'defines': [ + 'QTWEBENGINEPROCESS_NAME="<(qtwe_process_name_release)"' + ], + }, + 'Release_x64': { + 'defines': [ + 'QTWEBENGINEPROCESS_NAME="<(qtwe_process_name_release)"' + ], + }, + }, }, 'conditions': [ [ 'qt_os=="embedded_linux"', { diff --git a/src/process/process.pro b/src/process/process.pro index cdda429e7..1483008f7 100644 --- a/src/process/process.pro +++ b/src/process/process.pro @@ -16,6 +16,8 @@ win32 { load(qt_app) +CONFIG += build_all + contains(QT_CONFIG, qt_framework) { # Deploy the QtWebEngineProcess app bundle into the QtWebEngineCore framework. DESTDIR = $$MODULE_BASE_OUTDIR/lib/QtWebEngineCore.framework/Versions/5/Helpers diff --git a/tools/qmake/mkspecs/features/default_pre.prf b/tools/qmake/mkspecs/features/default_pre.prf index cb0625c2e..27aded013 100644 --- a/tools/qmake/mkspecs/features/default_pre.prf +++ b/tools/qmake/mkspecs/features/default_pre.prf @@ -4,7 +4,17 @@ QTWEBENGINE_ROOT = $$replace(PWD, /tools/qmake/mkspecs/features$,) # We depend on libc++ to build chromium so our macosx-version-min has to be 10.7 QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7 -QTWEBENGINEPROCESS_NAME = QtWebEngineProcess +QTWEBENGINEPROCESS_NAME_RELEASE = QtWebEngineProcess +debug_and_release { + QTWEBENGINEPROCESS_NAME_DEBUG = $$join(QTWEBENGINEPROCESS_NAME_RELEASE,,,d) +} else { + QTWEBENGINEPROCESS_NAME_DEBUG = $$QTWEBENGINEPROCESS_NAME_RELEASE +} +build_pass:CONFIG(debug, debug|release) { + QTWEBENGINEPROCESS_NAME = $$QTWEBENGINEPROCESS_NAME_DEBUG +} else { + QTWEBENGINEPROCESS_NAME = $$QTWEBENGINEPROCESS_NAME_RELEASE +} # Location of sync.profile MODULE_BASE_DIR = $$QTWEBENGINE_ROOT |