summaryrefslogtreecommitdiffstats
path: root/src/core/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/CMakeLists.txt')
-rw-r--r--src/core/CMakeLists.txt273
1 files changed, 220 insertions, 53 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index f26a9a9ec..8ba77607b 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -1,18 +1,21 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
cmake_minimum_required(VERSION 3.19)
find_package(Ninja 1.7.2 REQUIRED)
-find_package(Python2 2.7.5 REQUIRED)
-find_package(Nodejs 10.19 REQUIRED)
+find_package(Nodejs 14.19 REQUIRED)
+find_package(Perl)
find_package(PkgConfig)
if(PkgConfig_FOUND)
- pkg_check_modules(XSCRNSAVER xscrnsaver)
create_pkg_config_host_wrapper(${CMAKE_CURRENT_BINARY_DIR})
endif()
set(buildDir "${CMAKE_CURRENT_BINARY_DIR}")
add_subdirectory(api)
-add_subdirectory(tools)
+add_subdirectory(tools/webenginedriver)
+add_subdirectory(tools/qwebengine_convert_dict)
##
# TOOLCHAIN SETUP
@@ -46,7 +49,7 @@ foreach(arch ${archs})
get_forward_declaration_macro(forwardDeclarationMacro)
get_target_property(qtWebEngineProcessName WebEngineCore QTWEBENGINEPROCESS_NAME)
- if(QT_FEATURE_debug_and_release AND ("${config}" STREQUAL "Debug"))
+ if("${config}" STREQUAL "Debug")
set(qtWebEngineProcessName "${qtWebEngineProcessName}${CMAKE_DEBUG_POSTFIX}")
endif()
@@ -68,18 +71,19 @@ foreach(arch ${archs})
DEFINES
QT_NO_KEYWORDS
QT_USE_QSTRINGBUILDER
- QTWEBENGINECORE_VERSION_STR=\\\\\\\\\"${QT_REPO_MODULE_VERSION}\\\\\\\\\"
- QTWEBENGINEPROCESS_NAME=\\\\\\\\\"${qtWebEngineProcessName}\\\\\\\\\"
+ QTWEBENGINECORE_VERSION_STR=${QT_REPO_MODULE_VERSION}
+ QTWEBENGINEPROCESS_NAME=${qtWebEngineProcessName}
BUILDING_CHROMIUM
"${forwardDeclarationMacro}"
CXX_COMPILE_OPTIONS
${gnCxxCompileOptions}
SOURCES
- accessibility_activation_observer.cpp accessibility_activation_observer.h
accessibility_tree_formatter_qt.cpp
+ browser_accessibility_qt.cpp browser_accessibility_qt.h
authentication_dialog_controller.cpp authentication_dialog_controller.h authentication_dialog_controller_p.h
+ autofill_client_qt.cpp autofill_client_qt.h
+ autofill_popup_controller.cpp autofill_popup_controller.h autofill_popup_controller_p.h
browser_accessibility_manager_qt.cpp browser_accessibility_manager_qt.h
- browser_accessibility_qt.cpp browser_accessibility_qt.h
browser_main_parts_qt.cpp browser_main_parts_qt.h
browser_message_filter_qt.cpp browser_message_filter_qt.h
browsing_data_remover_delegate_qt.cpp browsing_data_remover_delegate_qt.h
@@ -87,6 +91,7 @@ foreach(arch ${archs})
certificate_error_controller.cpp certificate_error_controller.h
chromium_overrides.cpp
client_cert_select_controller.cpp client_cert_select_controller.h
+ client_hints.cpp client_hints.h
clipboard_change_observer.h
clipboard_qt.cpp clipboard_qt.h
color_chooser_controller.cpp color_chooser_controller.h color_chooser_controller_p.h
@@ -96,11 +101,17 @@ foreach(arch ${archs})
compositor/content_gpu_client_qt.cpp compositor/content_gpu_client_qt.h
compositor/display_overrides.cpp
compositor/display_software_output_surface.cpp compositor/display_software_output_surface.h
+ compositor/native_skia_output_device.cpp compositor/native_skia_output_device.h
content_browser_client_qt.cpp content_browser_client_qt.h
content_client_qt.cpp content_client_qt.h
content_main_delegate_qt.cpp content_main_delegate_qt.h
content_utility_client_qt.cpp content_utility_client_qt.h
+ custom_handlers/protocol_handler_registry_delegate_qt.h custom_handlers/protocol_handler_registry_delegate_qt.cpp
+ custom_handlers/protocol_handler_registry_factory.h custom_handlers/protocol_handler_registry_factory.cpp
+ custom_handlers/register_protocol_handler_request_controller.h
+ custom_handlers/register_protocol_handler_request_controller_impl.cpp custom_handlers/register_protocol_handler_request_controller_impl.h
delegated_frame_host_client_qt.cpp delegated_frame_host_client_qt.h
+ desktop_media_controller.cpp desktop_media_controller.h desktop_media_controller_p.h
desktop_screen_qt.cpp desktop_screen_qt.h
devtools_frontend_qt.cpp devtools_frontend_qt.h
devtools_manager_delegate_qt.cpp devtools_manager_delegate_qt.h
@@ -108,26 +119,34 @@ foreach(arch ${archs})
favicon_driver_qt.cpp favicon_driver_qt.h
favicon_service_factory_qt.cpp favicon_service_factory_qt.h
file_picker_controller.cpp file_picker_controller.h
+ file_system_access/file_system_access_permission_context_factory_qt.cpp file_system_access/file_system_access_permission_context_factory_qt.h
+ file_system_access/file_system_access_permission_context_qt.cpp file_system_access/file_system_access_permission_context_qt.h
+ file_system_access/file_system_access_permission_grant_qt.cpp file_system_access/file_system_access_permission_grant_qt.h
+ file_system_access/file_system_access_permission_request_controller.h
+ file_system_access/file_system_access_permission_request_controller_impl.cpp file_system_access/file_system_access_permission_request_controller_impl.h
+ file_system_access/file_system_access_permission_request_manager_qt.cpp file_system_access/file_system_access_permission_request_manager_qt.h
find_text_helper.cpp find_text_helper.h
global_descriptors_qt.h
javascript_dialog_controller.cpp javascript_dialog_controller.h javascript_dialog_controller_p.h
javascript_dialog_manager_qt.cpp javascript_dialog_manager_qt.h
login_delegate_qt.cpp login_delegate_qt.h
media_capture_devices_dispatcher.cpp media_capture_devices_dispatcher.h
- native_web_keyboard_event_qt.cpp
- net/client_cert_override.cpp net/client_cert_override.h
+ native_web_keyboard_event_qt.cpp native_web_keyboard_event_qt.h
+ net/client_cert_qt.cpp net/client_cert_qt.h
net/client_cert_store_data.cpp net/client_cert_store_data.h
net/cookie_monster_delegate_qt.cpp net/cookie_monster_delegate_qt.h
net/custom_url_loader_factory.cpp net/custom_url_loader_factory.h
- net/proxy_config_monitor.cpp
- net/proxy_config_service_qt.cpp
+ net/proxy_config_monitor.cpp net/proxy_config_monitor.h
+ net/proxy_config_service_qt.cpp net/proxy_config_service_qt.h
net/proxying_restricted_cookie_manager_qt.cpp net/proxying_restricted_cookie_manager_qt.h
net/proxying_url_loader_factory_qt.cpp net/proxying_url_loader_factory_qt.h
net/qrc_url_scheme_handler.cpp net/qrc_url_scheme_handler.h
+ net/resource_request_body_qt.cpp net/resource_request_body_qt.h
net/ssl_host_state_delegate_qt.cpp net/ssl_host_state_delegate_qt.h
net/system_network_context_manager.cpp net/system_network_context_manager.h
net/url_request_custom_job_delegate.cpp net/url_request_custom_job_delegate.h
net/url_request_custom_job_proxy.cpp net/url_request_custom_job_proxy.h
+ net/version_ui_qt.cpp net/version_ui_qt.h
net/webui_controller_factory_qt.cpp net/webui_controller_factory_qt.h
ozone/gl_context_qt.cpp ozone/gl_context_qt.h
ozone/gl_ozone_egl_qt.cpp ozone/gl_ozone_egl_qt.h
@@ -138,24 +157,20 @@ foreach(arch ${archs})
ozone/platform_window_qt.cpp ozone/platform_window_qt.h
ozone/surface_factory_qt.cpp ozone/surface_factory_qt.h
permission_manager_qt.cpp permission_manager_qt.h
+ pdf_util_qt.cpp pdf_util_qt.h
platform_notification_service_qt.cpp platform_notification_service_qt.h
+ pointer_device_qt.cpp
pref_service_adapter.cpp pref_service_adapter.h
process_main.cpp
profile_adapter.cpp profile_adapter.h
profile_adapter_client.cpp profile_adapter_client.h
profile_io_data_qt.cpp profile_io_data_qt.h
profile_qt.cpp profile_qt.h
- proxy_config_monitor.h
- proxy_config_service_qt.h
- quota_permission_context_qt.cpp quota_permission_context_qt.h
- quota_request_controller.h
- quota_request_controller_impl.cpp quota_request_controller_impl.h
- register_protocol_handler_request_controller.h
- register_protocol_handler_request_controller_impl.cpp register_protocol_handler_request_controller_impl.h
render_view_context_menu_qt.cpp render_view_context_menu_qt.h
render_widget_host_view_qt.cpp render_widget_host_view_qt.h
render_widget_host_view_qt_delegate.h
render_widget_host_view_qt_delegate_client.cpp render_widget_host_view_qt_delegate_client.h
+ render_widget_host_view_qt_delegate_item.cpp render_widget_host_view_qt_delegate_item.h
renderer/content_renderer_client_qt.cpp renderer/content_renderer_client_qt.h
renderer/content_settings_observer_qt.cpp renderer/content_settings_observer_qt.h
renderer/render_configuration.cpp renderer/render_configuration.h
@@ -166,7 +181,6 @@ foreach(arch ${archs})
renderer_host/web_engine_page_host.cpp renderer_host/web_engine_page_host.h
request_controller.h
resource_bundle_qt.cpp
- resource_context_qt.cpp resource_context_qt.h
select_file_dialog_factory_qt.cpp select_file_dialog_factory_qt.h
touch_handle_drawable_client.h
touch_handle_drawable_qt.cpp touch_handle_drawable_qt.h
@@ -181,12 +195,18 @@ foreach(arch ${archs})
web_contents_delegate_qt.cpp web_contents_delegate_qt.h
web_contents_view_qt.cpp web_contents_view_qt.h
web_engine_context.cpp web_engine_context.h
- web_engine_context_threads.cpp
web_engine_error.cpp web_engine_error.h
web_engine_library_info.cpp web_engine_library_info.h
web_engine_settings.cpp web_engine_settings.h
web_event_factory.cpp web_event_factory.h
web_usb_detector_qt.cpp web_usb_detector_qt.h
+ authenticator_request_client_delegate_qt.cpp authenticator_request_client_delegate_qt.h
+ authenticator_request_dialog_controller.cpp authenticator_request_dialog_controller.h authenticator_request_dialog_controller_p.h
+ )
+
+ extend_gn_target(${buildGn} CONDITION QT_FEATURE_accessibility
+ SOURCES
+ accessibility_activation_observer.cpp accessibility_activation_observer.h
)
extend_gn_target(${buildGn} CONDITION QT_FEATURE_webengine_ozone_x11
@@ -195,24 +215,30 @@ foreach(arch ${archs})
ozone/gl_surface_glx_qt.cpp ozone/gl_surface_glx_qt.h
)
+ extend_gn_target(${buildGn} CONDITION QT_FEATURE_webengine_vulkan
+ SOURCES
+ compositor/native_skia_output_device_vulkan.cpp compositor/native_skia_output_device_vulkan.h
+ compositor/vulkan_implementation_qt.cpp compositor/vulkan_implementation_qt.h
+ )
+
extend_gn_target(${buildGn} CONDITION QT_FEATURE_opengl
SOURCES
compositor/compositor_resource_fence.cpp compositor/compositor_resource_fence.h
- compositor/display_gl_output_surface.cpp compositor/display_gl_output_surface.h
compositor/display_skia_output_device.cpp compositor/display_skia_output_device.h
+ compositor/native_skia_output_device_opengl.cpp compositor/native_skia_output_device_opengl.h
)
- extend_gn_target(${buildGn} CONDITION MACOS AND QT_FEATURE_opengl
+ extend_gn_target(${buildGn} CONDITION MACOS
SOURCES
- macos_context_type_helper.mm macos_context_type_helper.h
+ native_web_keyboard_event_qt_mac.mm
+ compositor/native_skia_output_device_mac.mm
+ compositor/native_skia_output_device_metal.cpp compositor/native_skia_output_device_metal.h
)
extend_gn_target(${buildGn} CONDITION QT_FEATURE_webengine_pepper_plugins
SOURCES
renderer/pepper/pepper_renderer_host_factory_qt.cpp renderer/pepper/pepper_renderer_host_factory_qt.h
renderer/plugins/loadable_plugin_placeholder_qt.cpp renderer/plugins/loadable_plugin_placeholder_qt.h
- renderer_host/pepper/pepper_host_factory_qt.cpp renderer_host/pepper/pepper_host_factory_qt.h
- renderer_host/pepper/pepper_isolated_file_system_message_filter.cpp renderer_host/pepper/pepper_isolated_file_system_message_filter.h
)
extend_gn_target(${buildGn} CONDITION QT_FEATURE_webengine_printing_and_pdf
@@ -246,9 +272,9 @@ foreach(arch ${archs})
extensions/extension_web_contents_observer_qt.cpp extensions/extension_web_contents_observer_qt.h
extensions/extensions_api_client_qt.cpp extensions/extensions_api_client_qt.h
extensions/extensions_browser_client_qt.cpp extensions/extensions_browser_client_qt.h
+ extensions/file_system_delegate_qt.cpp extensions/file_system_delegate_qt.h
extensions/messaging_delegate_qt.cpp extensions/messaging_delegate_qt.h
extensions/mime_handler_view_guest_delegate_qt.cpp extensions/mime_handler_view_guest_delegate_qt.h
- extensions/pdf_iframe_navigation_throttle_qt.cpp extensions/pdf_iframe_navigation_throttle_qt.h
extensions/plugin_service_filter_qt.cpp extensions/plugin_service_filter_qt.h
net/plugin_response_interceptor_url_loader_throttle.cpp net/plugin_response_interceptor_url_loader_throttle.h
renderer/extensions/extensions_dispatcher_delegate_qt.cpp renderer/extensions/extensions_dispatcher_delegate_qt.h
@@ -257,6 +283,19 @@ foreach(arch ${archs})
renderer/extensions/resource_request_policy_qt.cpp renderer/extensions/resource_request_policy_qt.h
)
+ extend_gn_target(${buildGn} CONDITION QT_FEATURE_webengine_extensions AND QT_FEATURE_webengine_printing_and_pdf
+ SOURCES
+ extensions/pdf_iframe_navigation_throttle_qt.cpp extensions/pdf_iframe_navigation_throttle_qt.h
+ printing/pdf_stream_delegate_qt.cpp printing/pdf_stream_delegate_qt.h
+ printing/pdf_document_helper_client_qt.cpp printing/pdf_document_helper_client_qt.h
+ )
+
+ extend_gn_target(${buildGn} CONDITION WIN32
+ SOURCES
+ clipboard_util_win.cpp
+ compositor/native_skia_output_device_direct3d11.cpp compositor/native_skia_output_device_direct3d11.h
+ )
+
##
# GN PARAMETERS SETUP
##
@@ -271,38 +310,69 @@ foreach(arch ${archs})
list(APPEND gnArgArg
qtwebengine_target="${buildDir}/${config}/${arch}:QtWebEngineCore"
+ build_dawn_tests=false
+ build_with_tflite_lib=false
+ enable_background_contents=false
+ enable_background_mode=false
+ enable_ipc_fuzzer=false
+ enable_ipc_logging=false
+ enable_java_templates=false
enable_media_remoting=false
enable_message_center=false
enable_nacl=false
+ enable_oop_printing=false
enable_remoting=false
enable_reporting=false
enable_resource_allowlist_generation=false
+ enable_screen_ai_service=false
+ enable_session_service=false
+ enable_supervised_users=false
enable_swiftshader=false
enable_swiftshader_vulkan=false
angle_enable_swiftshader=false
+ dawn_use_swiftshader=false
+ enable_vr=false
enable_web_speech=false
enable_widevine=true
+ enable_library_cdms=true
+ fatal_linker_warnings=false
has_native_accessibility=false
safe_browsing_mode=0
- skia_use_dawn=false
toolkit_views=false
chrome_pgo_phase=0
optimize_webui=false
- enable_js_type_check=false
- v8_use_external_startup_data=false
strip_absolute_paths_from_debug_symbols=false
- disable_ftp_support=true
+ pdf_use_skia=true
+ use_dawn=false
+ skia_use_dawn=false
+ devtools_fast_bundle=false
+ devtools_skip_typecheck=false
+ use_static_angle=true
+ use_perfetto_client_library=false
+ trial_comparison_cert_verifier_supported=false
)
-
extend_gn_list(gnArgArg
- ARGS enable_basic_printing enable_print_preview enable_pdf
+ ARGS use_v8_context_snapshot v8_use_external_startup_data
+ CONDITION QT_FEATURE_webengine_v8_context_snapshot
+ )
+ extend_gn_list(gnArgArg
+ ARGS enable_printing enable_basic_printing enable_print_preview enable_pdf
CONDITION QT_FEATURE_webengine_printing_and_pdf
)
extend_gn_list(gnArgArg
+ ARGS use_cups
+ CONDITION QT_FEATURE_webengine_printing_and_pdf AND NOT WIN32
+ )
+ extend_gn_list(gnArgArg
ARGS enable_plugins
- CONDITION QT_FEATURE_webengine_pepper_plugins
+ CONDITION QT_FEATURE_webengine_printing_and_pdf OR
+ QT_FEATURE_webengine_pepper_plugins
)
extend_gn_list(gnArgArg
+ ARGS enable_ppapi
+ CONDITION QT_FEATURE_webengine_pepper_plugins
+ )
+ extend_gn_list(gnArgArg
ARGS enable_spellcheck
CONDITION QT_FEATURE_webengine_spellchecker
)
@@ -311,6 +381,10 @@ foreach(arch ${archs})
CONDITION QT_FEATURE_webengine_webrtc
)
extend_gn_list(gnArgArg
+ ARGS enable_screen_capture
+ CONDITION QT_FEATURE_webengine_webrtc
+ )
+ extend_gn_list(gnArgArg
ARGS enable_hangout_services_extension
CONDITION QT_FEATURE_webengine_webrtc AND QT_FEATURE_webengine_extensions
)
@@ -323,6 +397,10 @@ foreach(arch ${archs})
CONDITION QT_FEATURE_webengine_extensions
)
extend_gn_list(gnArgArg
+ ARGS enable_vulkan
+ CONDITION QT_FEATURE_webengine_vulkan
+ )
+ extend_gn_list(gnArgArg
ARGS use_kerberos
CONDITION QT_FEATURE_webengine_kerberos
)
@@ -337,27 +415,35 @@ foreach(arch ${archs})
ARGS use_browser_spellchecker
CONDITION QT_FEATURE_webengine_native_spellchecker
)
+ extend_gn_list(gnArgArg
+ ARGS use_embedded_config
+ CONDITION QT_FEATURE_webengine_embedded_build
+ )
+ extend_gn_list(gnArgArg
+ ARGS enable_webenginedriver
+ CONDITION QT_FEATURE_webenginedriver
+ )
if(LINUX)
list(APPEND gnArgArg
+ use_gtk=false # GTK toolkit bindings
+ use_qt=false # Qt5 toolkit bindings
use_cups=false
use_gio=false
- use_gnome_keyring=false
- use_udev=true
use_bundled_fontconfig=false
- enable_session_service=false
+ use_glib=false
+ use_bluez=false
+ use_udev=true
is_cfi=false
use_ozone=true
- use_x11=false
ozone_auto_platforms=false
ozone_platform_headless=false
ozone_platform_external=true
ozone_platform="qt"
ozone_extra_path="${CMAKE_CURRENT_LIST_DIR}/ozone/ozone_extra.gni"
- use_glib=false
)
set(systemLibs libjpeg libpng freetype harfbuzz libevent libwebp libxml
- opus snappy libvpx icu ffmpeg re2 lcms2
+ opus snappy icu ffmpeg re2 lcms2 libopenjpeg2 libvpx
)
foreach(slib ${systemLibs})
extend_gn_list(gnArgArg
@@ -365,6 +451,16 @@ foreach(arch ${archs})
CONDITION QT_FEATURE_webengine_system_${slib}
)
endforeach()
+ if(NOT QT_FEATURE_webengine_system_opus)
+ extend_gn_list(gnArgArg
+ ARGS has_perl
+ CONDITION Perl_FOUND
+ )
+ endif()
+ extend_gn_list(gnArgArg
+ ARGS use_system_libxslt
+ CONDITION QT_FEATURE_webengine_system_libxml
+ )
extend_gn_list(gnArgArg
ARGS icu_use_data_file
CONDITION NOT QT_FEATURE_webengine_system_icu
@@ -382,6 +478,10 @@ foreach(arch ${archs})
CONDITION QT_FEATURE_webengine_system_libpng
)
extend_gn_list(gnArgArg
+ ARGS pdfium_use_system_libtiff
+ CONDITION QT_FEATURE_webengine_system_libtiff
+ )
+ extend_gn_list(gnArgArg
ARGS use_libpci
CONDITION QT_FEATURE_webengine_system_libpci
)
@@ -394,6 +494,14 @@ foreach(arch ${archs})
CONDITION QT_FEATURE_webengine_system_pulseaudio
)
extend_gn_list(gnArgArg
+ ARGS use_system_minigbm
+ CONDITION QT_FEATURE_webengine_system_gbm
+ )
+ extend_gn_list(gnArgArg
+ ARGS use_vaapi
+ CONDITION QT_FEATURE_webengine_vaapi
+ )
+ extend_gn_list(gnArgArg
ARGS ozone_platform_x11 use_xkbcommon
CONDITION QT_FEATURE_webengine_ozone_x11
)
@@ -402,33 +510,47 @@ foreach(arch ${archs})
CONDITION QT_FEATURE_webengine_ozone_x11 AND QT_FEATURE_webengine_webrtc
)
extend_gn_list(gnArgArg
- ARGS use_xscrnsaver
- CONDITION QT_FEATURE_webengine_ozone_x11 AND XSCRNSAVER_FOUND
+ ARGS use_vaapi_x11
+ CONDITION QT_FEATURE_webengine_ozone_x11 AND QT_FEATURE_webengine_vaapi
)
+ if(QT_FEATURE_webengine_kerberos)
+ list(APPEND gnArgArg
+ external_gssapi_include_dir="${GSSAPI_INCLUDE_DIRS}/gssapi"
+ )
+ endif()
+ get_gn_arch(cpu ${TEST_architecture_arch})
if(CMAKE_CROSSCOMPILING AND cpu STREQUAL "arm")
check_thumb(armThumb)
- if(NOT armThumb AND NOT QT_FEATURE_system_ffmpeg)
+ if(NOT armThumb AND NOT QT_FEATURE_webengine_system_ffmpeg)
list(APPEND gnArgArg media_use_ffmpeg=false use_webaudio_ffmpeg=false)
endif()
endif()
+
+ if(CMAKE_CROSSCOMPILING AND cpu STREQUAL "arm64")
+ # This is a workaround to avoid auto test timeouts on the QEMU arm64 CI.
+ if ("$ENV{TARGET_OSVERSION_COIN}" STREQUAL "qemu")
+ list(APPEND gnArgArg
+ v8_enable_sandbox=false
+ arm_control_flow_integrity="none"
+ )
+ endif()
+ endif()
+ unset(cpu)
endif()
if(MACOS)
list(APPEND gnArgArg
use_external_popup_menu=false
- angle_enable_vulkan=false
+ skia_use_metal=false
)
endif()
if(WIN32)
list(APPEND gnArgArg
- enable_location_source=false
- enable_session_service=false
ninja_use_custom_environment_files=false
com_init_check_hook_disabled=true
heterogeneous_executables=true
- enable_vr=false
)
endif()
@@ -436,7 +558,7 @@ foreach(arch ${archs})
CMAKE_TARGET WebEngineCore
NINJA_TARGETS QtWebEngineCore convert_dict
GN_TARGET ${buildGn}
- GN_ARGS "${gnArgArg}"
+ GN_ARGS ${gnArgArg}
BUILDDIR ${buildDir}/${config}/${arch}
MODULE core
)
@@ -450,14 +572,27 @@ endforeach()
# WEBENGINECORE SETUP
##
-set(arch ${CMAKE_SYSTEM_PROCESSOR})
+list(GET archs 0 arch)
target_include_directories(WebEngineCore PRIVATE
${buildDir}/$<CONFIG>/${arch}/gen
${buildDir}/$<CONFIG>/${arch}/gen/third_party/perfetto
${buildDir}/$<CONFIG>/${arch}/gen/third_party/perfetto/build_config
)
-add_gn_build_aritfacts_to_target(WebEngineCore QtWebEngineCore core ${buildDir})
+set(stamps QtWebEngineCore.stamp)
+if(QT_FEATURE_webengine_v8_context_snapshot)
+ set(dataStamp obj/tools/v8_context_snapshot/v8_context_snapshot.stamp)
+endif()
+
+add_gn_build_artifacts_to_target(
+ CMAKE_TARGET WebEngineCore
+ NINJA_TARGET QtWebEngineCore
+ MODULE core
+ BUILDDIR ${buildDir}
+ COMPLETE_STATIC FALSE
+ NINJA_STAMP QtWebEngineCore.stamp
+ NINJA_DATA_STAMP ${dataStamp}
+)
add_dependencies(WebEngineCore run_core_NinjaDone)
if(COIN_BUG_699)
set_property(TARGET WebEngineCore PROPERTY CXX_LINKER_LAUNCHER ${PROJECT_BINARY_DIR}/linker_ulimit.sh)
@@ -492,15 +627,47 @@ endif()
# WEBENGINECORE DICT TOOL SETUP
##
-if(QT_FEATURE_webengine_spellchecker)
+if(QT_FEATURE_webengine_spellchecker AND NOT CMAKE_CROSSCOMPILING)
qt_get_tool_target_name(dict_target_name qwebengine_convert_dict)
target_include_directories(${dict_target_name} PRIVATE
../3rdparty/chromium
../3rdparty/chromium/third_party/boringssl/src/include
${buildDir}/$<CONFIG>/${arch}/gen
)
- add_gn_build_aritfacts_to_target(${dict_target_name} convert_dict core ${buildDir})
+ add_gn_build_artifacts_to_target(
+ CMAKE_TARGET ${dict_target_name}
+ NINJA_TARGET convert_dict
+ MODULE core
+ BUILDDIR ${buildDir}
+ COMPLETE_STATIC FALSE
+ NINJA_STAMP convert_dict.stamp
+ )
add_dependencies(${dict_target_name} run_core_NinjaDone)
add_dependencies(${dict_target_name} WebEngineCore)
endif()
+##
+# WEBENGINEDRIVER
+##
+
+if(QT_FEATURE_webenginedriver)
+ add_ninja_command(
+ TARGET webenginedriver_group
+ OUTPUT ${WEBENGINEDRIVER_EXECUTABLE}
+ BUILDDIR ${buildDir}/$<CONFIG>/${arch}
+ MODULE core
+ )
+ add_custom_target(webenginedriver
+ DEPENDS
+ ${buildDir}/$<CONFIG>/${arch}/${WEBENGINEDRIVER_EXECUTABLE})
+ add_dependencies(run_core_NinjaDone webenginedriver)
+endif()
+
+##
+# CHROMIUM UPDATE
+##
+
+add_custom_target(update-chromium
+ COMMAND ${CMAKE_COMMAND} -P ${WEBENGINE_ROOT_SOURCE_DIR}/cmake/SubmoduleUpdate.cmake
+ DEPENDS ${WEBENGINE_ROOT_SOURCE_DIR}/cmake/SubmoduleUpdate.cmake
+)