diff options
author | Michal Klocek <michal.klocek@qt.io> | 2021-02-04 17:12:08 +0100 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2021-05-12 09:41:01 +0200 |
commit | d240e6647d48a87db324973e649c2b0aea5a6857 (patch) | |
tree | b8517474be153b5c4a631f08b9fb104a52cbb49a /src | |
parent | 5cf3eaa127b4633b46e1d6b70eb42253464bcd97 (diff) |
Add BUILD.gn generation for the gn root and gn toolchain
Use simple templates. This will get own target
in followup changes.
Task-number: QTBUG-91760
Change-Id: I0b6991f7b54183aa9fb667cec5ad347f66c78b99
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/core/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/core/configure/BUILD.root.gn.in | 516 | ||||
-rw-r--r-- | src/core/configure/BUILD.toolchain.gn.in | 43 | ||||
-rw-r--r-- | src/core/generator.cmake | 263 |
4 files changed, 826 insertions, 0 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index cbec0aa13..bdb937e19 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -26,6 +26,10 @@ find_package(Python2 REQUIRED) qt_build_repo_begin() +include(generator.cmake) +configure_file(${PROJECT_SOURCE_DIR}/configure/BUILD.toolchain.gn.in ${buildDir}/toolchain/BUILD.gn @ONLY) +configure_file(${PROJECT_SOURCE_DIR}/configure/BUILD.root.gn.in ${buildDir}/BUILD.gn @ONLY) + get_target_property(gnCmd Gn::gn IMPORTED_LOCATION) set(gnArg help) diff --git a/src/core/configure/BUILD.root.gn.in b/src/core/configure/BUILD.root.gn.in new file mode 100644 index 000000000..116c6bbeb --- /dev/null +++ b/src/core/configure/BUILD.root.gn.in @@ -0,0 +1,516 @@ +import("//build/config/features.gni") +import("//build/config/ui.gni") +import("//chrome/common/features.gni") +import("//components/spellcheck/spellcheck_build_features.gni") +import("//pdf/features.gni") +import("//ppapi/buildflags/buildflags.gni") +import("//printing/buildflags/buildflags.gni") +import("//extensions/buildflags/buildflags.gni") +import("//tools/grit/repack.gni") +import("//build/config/locales.gni") +import("//chrome/chrome_repack_locales.gni") +import("//extensions/buildflags/buildflags.gni") + +moc_source_h_files = exec_script("@WEBENGINE_ROOT_SOURCE_DIR@/tools/scripts/gn_find_mocables.py", + [ + @GN_HEADERS@ + ], "list lines", ["@WEBENGINE_ROOT_SOURCE_DIR@/src/core/CMakeLists.txt"] +) +moc_source_cpp_files = exec_script("@WEBENGINE_ROOT_SOURCE_DIR@/tools/scripts/gn_find_mocables.py", + [ + @GN_SOURCES@ + ], "list lines", ["@WEBENGINE_ROOT_SOURCE_DIR@/src/core/CMakeLists.txt"] +) +if (moc_source_h_files != []) { + action_foreach("generate_h_mocs") { + script = "@WEBENGINE_ROOT_SOURCE_DIR@/tools/scripts/gn_run_binary.py" + sources = moc_source_h_files + outputs = [ "${target_gen_dir}/.moc/moc_{{source_name_part}}.cpp" ] + inputs = [ "@WEBENGINE_ROOT_SOURCE_DIR@/CMakeLists.txt" ] + args = [ + @GN_ARGS_MOC_BIN@, + @GN_ARGS_DEFINES@, + @GN_ARGS_INCLUDES@, + "{{source}}", + "-o", + rebase_path("${target_gen_dir}/.moc/moc_{{source_name_part}}.cpp") + ] + } +} + +if (moc_source_cpp_files != []) { + action_foreach("generate_cpp_mocs") { + script = "@WEBENGINE_ROOT_SOURCE_DIR@/tools/scripts/gn_run_binary.py" + sources = moc_source_cpp_files + outputs = [ "${target_gen_dir}/.moc/{{source_name_part}}.moc" ] + inputs = [ "@WEBENGINE_ROOT_SOURCE_DIR@/src/core/CMakeLists.txt" ] + args = [ + @GN_ARGS_MOC_BIN@, + @GN_ARGS_DEFINES@, + @GN_ARGS_INCLUDES@, + "{{source}}", + "-o", + rebase_path("${target_gen_dir}/.moc/{{source_name_part}}.moc") + ] + } +} + +config("QtWebEngineCore_config") { + cflags = [ + @GN_CFLAGS_C@, + ] + cflags_cc = [ + @GN_CFLAGS_CC@, + ] + defines = [ + @GN_DEFINES@, + ] + include_dirs = [ + @GN_INCLUDE_DIRS@, + rebase_path("${target_gen_dir}/.moc/") + ] +} + +config("cpp17_config") { + # static initialized constexpr expressions must be compiled always as c++14 or always as c++17 + # and our qtwebengine core sources use them as c++17 + if (is_win) { + cflags_cc = [ "/std:c++17" ] + } else { + cflags_cc = [ "-std=c++17" ] + } +} + +shared_library("QtWebEngineCore") { + cmake_config = "@GN_CONFIG@" + import("@WEBENGINE_ROOT_SOURCE_DIR@/src/core/qtwebengine.gni") + configs += [ + ":cpp17_config", + ":QtWebEngineCore_config", + "//build/config:precompiled_headers" + ] + sources = [ + @GN_HEADERS@, + @GN_SOURCES@ + ] + if (moc_source_h_files != []) { + deps += [ + ":generate_h_mocs", + ] + sources += get_target_outputs(":generate_h_mocs") + } + if (moc_source_cpp_files != []) { + deps += [ + ":generate_cpp_mocs", + ] + } +} + +source_set("qtwebengine_spellcheck_sources") { + include_dirs = [ "@WEBENGINE_ROOT_SOURCE_DIR@/src/core/service" ] + configs += [ "//third_party/boringssl:external_config" ] + sources = [ + "//chrome/browser/spellchecker/spell_check_host_chrome_impl.cc", + "//chrome/browser/spellchecker/spell_check_host_chrome_impl.h", + "//chrome/browser/spellchecker/spellcheck_custom_dictionary.cc", + "//chrome/browser/spellchecker/spellcheck_custom_dictionary.h", + "//chrome/browser/spellchecker/spellcheck_factory.cc", + "//chrome/browser/spellchecker/spellcheck_factory.h", + "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc", + "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h", + "//chrome/browser/spellchecker/spellcheck_service.cc", + "//chrome/browser/spellchecker/spellcheck_service.h", + "//components/language/core/browser/pref_names.cc", + "//components/language/core/browser/pref_names.h", + ] + deps = [ + "//components/spellcheck/browser", + "//components/spellcheck/renderer", + "//third_party/blink/public:blink", + "//third_party/hunspell", + ] + if (is_mac && use_browser_spellchecker) { + sources += [ + "//chrome/browser/spellchecker/spell_check_host_chrome_impl_mac.cc", + ] + } +} + +source_set("qtwebengine_sources") { + configs += [ + ":cpp17_config", + "//skia:skia_config", + "//third_party/boringssl:external_config", + ] + deps = [ + "//build:branding_buildflags", + "//chrome/browser/resources/quota_internals:quota_internals_resources", + "//chrome/common:buildflags", + "//components/nacl/common:buildflags", + "//components/performance_manager", + "//components/plugins/renderer/", + "//extensions/buildflags:buildflags", + "//rlz/buildflags:buildflags", + "//third_party/blink/public/mojom:mojom_platform", + ] + sources = [ + "//chrome/browser/accessibility/accessibility_ui.cc", + "//chrome/browser/accessibility/accessibility_ui.h", + "//chrome/browser/custom_handlers/protocol_handler_registry.cc", + "//chrome/browser/custom_handlers/protocol_handler_registry.h", + "//chrome/browser/custom_handlers/protocol_handler_registry_factory.cc", + "//chrome/browser/custom_handlers/protocol_handler_registry_factory.h", + "//chrome/browser/devtools/devtools_eye_dropper.cc", + "//chrome/browser/devtools/devtools_eye_dropper.h", + "//chrome/browser/media/webrtc/desktop_media_list.h", + "//chrome/browser/net/chrome_mojo_proxy_resolver_factory.cc", + "//chrome/browser/net/chrome_mojo_proxy_resolver_factory.h", + "//chrome/browser/prefs/chrome_command_line_pref_store.cc", + "//chrome/browser/prefs/chrome_command_line_pref_store.h", + "//chrome/browser/profiles/profile.cc", + "//chrome/browser/profiles/profile.h", + "//chrome/browser/tab_contents/form_interaction_tab_helper.cc", + "//chrome/browser/tab_contents/form_interaction_tab_helper.h", + "//chrome/browser/ui/webui/devtools_ui.cc", + "//chrome/browser/ui/webui/devtools_ui.h", + "//chrome/browser/ui/webui/devtools_ui_data_source.cc", + "//chrome/browser/ui/webui/devtools_ui_data_source.h", + "//chrome/browser/ui/webui/net_internals/net_internals_ui.cc", + "//chrome/browser/ui/webui/net_internals/net_internals_ui.h", + "//chrome/browser/ui/webui/quota_internals/quota_internals_handler.cc", + "//chrome/browser/ui/webui/quota_internals/quota_internals_handler.h", + "//chrome/browser/ui/webui/quota_internals/quota_internals_proxy.cc", + "//chrome/browser/ui/webui/quota_internals/quota_internals_proxy.h", + "//chrome/browser/ui/webui/quota_internals/quota_internals_types.cc", + "//chrome/browser/ui/webui/quota_internals/quota_internals_types.h", + "//chrome/browser/ui/webui/quota_internals/quota_internals_ui.cc", + "//chrome/browser/ui/webui/quota_internals/quota_internals_ui.h", + "//chrome/browser/ui/webui/user_actions/user_actions_ui.cc", + "//chrome/browser/ui/webui/user_actions/user_actions_ui.h", + "//chrome/browser/ui/webui/user_actions/user_actions_ui_handler.cc", + "//chrome/browser/ui/webui/user_actions/user_actions_ui_handler.h", + "//chrome/common/custom_handlers/protocol_handler.cc", + "//chrome/common/custom_handlers/protocol_handler.h", + "//chrome/browser/ui/webui/webui_util.cc", + "//chrome/browser/ui/webui/webui_util.h", + "//chrome/common/chrome_switches.cc", + "//chrome/common/chrome_switches.h", + "//chrome/common/pref_names.cc", + "//chrome/common/pref_names.h", + "//chrome/common/url_constants.cc", + "//chrome/common/url_constants.h", + "//chrome/common/webui_url_constants.cc", + "//chrome/common/webui_url_constants.h", + ] + if (enable_extensions) { + deps += [ + ":qtwebengine_extensions_features", + "//chrome/app:generated_resources", + "//chrome/browser/extensions/api:api_registration", + "//chrome/browser/resources:component_extension_resources_grit", + "//chrome/common/extensions/api", + "//chrome/common/extensions/api:api", + "//chrome/common/extensions/api:extensions_features", + "//components/crx_file", + "//components/crx_file:crx_creator", + "//components/spellcheck:buildflags", + "//extensions/buildflags:buildflags", + "//extensions/common", + "//extensions/common/api", + "//extensions/common:core_api_provider", + "//extensions/browser", + "//extensions/browser/api", + "//extensions/browser:core_api_provider", + "//extensions/renderer", + "//extensions:extensions_resources", + "//extensions/strings", + "//qtwebengine/browser/extensions/api:api_registration", + "//qtwebengine/common/extensions/api:api", + ] + sources += [ + "//chrome/browser/extensions/api/streams_private/streams_private_api.cc", + "//chrome/browser/extensions/api/streams_private/streams_private_api.h", + "//chrome/browser/extensions/api/enterprise_hardware_platform/enterprise_hardware_platform_api.cc", + "//chrome/browser/extensions/api/enterprise_hardware_platform/enterprise_hardware_platform_api.h", + "//chrome/common/extensions/permissions/chrome_api_permissions.cc", + "//chrome/common/extensions/permissions/chrome_api_permissions.h", + "//chrome/common/extensions/permissions/chrome_permission_message_provider.cc", + "//chrome/common/extensions/permissions/chrome_permission_message_provider.h", + "//chrome/common/extensions/permissions/chrome_permission_message_rules.cc", + "//chrome/common/extensions/permissions/chrome_permission_message_rules.h", + ] + } else { + deps += [ + "//extensions/common:common_constants", + ] + sources += [ + "//extensions/common/url_pattern.cc", + "//extensions/common/url_pattern.h", + ] + } + if (is_linux) { + sources += [ + "//chrome/browser/ui/webui/sandbox/sandbox_internals_ui.cc", + "//chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h", + ] + } + if (enable_spellcheck) { + deps += [ + ":qtwebengine_spellcheck_sources", + "//chrome/tools/convert_dict", + ] + } + if (enable_plugins) { + sources += [ + "//chrome/renderer/pepper/pepper_flash_font_file_host.cc", + "//chrome/renderer/pepper/pepper_flash_font_file_host.h", + "//chrome/renderer/pepper/pepper_shared_memory_message_filter.cc", + "//chrome/renderer/pepper/pepper_shared_memory_message_filter.h", + ] + } + if (enable_basic_printing || enable_print_preview) { + sources += [ + "//chrome/browser/printing/printer_query.cc", + "//chrome/browser/printing/printer_query.h", + "//chrome/browser/printing/print_job.cc", + "//chrome/browser/printing/print_job.h", + "//chrome/browser/printing/print_job_manager.cc", + "//chrome/browser/printing/print_job_manager.h", + "//chrome/browser/printing/print_job_worker.cc", + "//chrome/browser/printing/print_job_worker.h", + ] + deps += [ + "//printing/buildflags:buildflags", + ] + } + if (enable_pdf) { + deps += [ + "//pdf", + "//pdf:buildflags", + "//pdf:pdf_ppapi", + "//components/pdf/browser:browser", + "//components/pdf/renderer:renderer", + "//components/printing/browser", + "//components/printing/renderer", + ] + } + + if (enable_webrtc && enable_extensions) { + deps += [ + "//chrome/browser/resources/media:webrtc_logs_resources", + "//components/upload_list", + "//components/webrtc_logging/browser", + "//components/webrtc_logging/common", + ] + + sources += [ + "//chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc", + "//chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.h", + "//chrome/browser/media/webrtc/audio_debug_recordings_handler.cc", + "//chrome/browser/media/webrtc/audio_debug_recordings_handler.h", + "//chrome/browser/media/webrtc/webrtc_event_log_history.cc", + "//chrome/browser/media/webrtc/webrtc_event_log_history.h", + "//chrome/browser/media/webrtc/webrtc_event_log_manager.cc", + "//chrome/browser/media/webrtc/webrtc_event_log_manager.h", + "//chrome/browser/media/webrtc/webrtc_event_log_manager_common.cc", + "//chrome/browser/media/webrtc/webrtc_event_log_manager_common.h", + "//chrome/browser/media/webrtc/webrtc_event_log_manager_local.cc", + "//chrome/browser/media/webrtc/webrtc_event_log_manager_local.h", + "//chrome/browser/media/webrtc/webrtc_event_log_manager_remote.cc", + "//chrome/browser/media/webrtc/webrtc_event_log_manager_remote.h", + "//chrome/browser/media/webrtc/webrtc_event_log_uploader.cc", + "//chrome/browser/media/webrtc/webrtc_event_log_uploader.h", + "//chrome/browser/media/webrtc/webrtc_log_buffer.cc", + "//chrome/browser/media/webrtc/webrtc_log_buffer.h", + "//chrome/browser/media/webrtc/webrtc_log_uploader.cc", + "//chrome/browser/media/webrtc/webrtc_log_uploader.h", + "//chrome/browser/media/webrtc/webrtc_logging_controller.cc", + "//chrome/browser/media/webrtc/webrtc_logging_controller.h", + "//chrome/browser/media/webrtc/webrtc_rtp_dump_handler.cc", + "//chrome/browser/media/webrtc/webrtc_rtp_dump_handler.h", + "//chrome/browser/media/webrtc/webrtc_rtp_dump_writer.cc", + "//chrome/browser/media/webrtc/webrtc_rtp_dump_writer.h", + "//chrome/browser/media/webrtc/webrtc_text_log_handler.cc", + "//chrome/browser/media/webrtc/webrtc_text_log_handler.h", + "//chrome/browser/ui/webui/media/webrtc_logs_ui.cc", + "//chrome/browser/ui/webui/media/webrtc_logs_ui.h", + "//chrome/renderer/media/webrtc_logging_agent_impl.cc", + "//chrome/renderer/media/webrtc_logging_agent_impl.h", + ] + } +} + +if (is_win) { + shared_library("qtwebengine_sandbox_win") { + cmake_config = "@GN_CONFIG@" + public_deps = [ "//sandbox/win:sandbox" ] + } +} + +group("qtwebengine_resources") { + deps = [ + "//chrome/app:generated_resources", + "//chrome/browser:resources", + "//chrome/browser/resources:component_extension_resources", + "//chrome/common:resources", + "//components/resources:components_resources", + ":qtwebengine_repack_resources", + ":qtwebengine_repack_resources_100", + ":qtwebengine_repack_resources_200", + ":qtwebengine_repack_resources_devtools", + ":qtwebengine_repack_locales_pack" + ] +} + +repack("qtwebengine_repack_resources") { + sources = [ + "$root_gen_dir/qtwebengine/qt_webengine_resources.pak", + "$root_gen_dir/chrome/common_resources.pak", + "$root_gen_dir/chrome/net_internals_resources.pak", + "$root_gen_dir/chrome/quota_internals_resources.pak", + "$root_gen_dir/components/components_resources.pak", + "$root_gen_dir/components/dev_ui_components_resources.pak", + "$root_gen_dir/content/browser/resources/media/media_internals_resources.pak", + "$root_gen_dir/content/browser/tracing/tracing_resources.pak", + "$root_gen_dir/content/content_resources.pak", + "$root_gen_dir/content/dev_ui_content_resources.pak", + "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak", + "$root_gen_dir/net/net_resources.pak", + "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak", + "$root_gen_dir/ui/resources/webui_resources.pak", + "$root_gen_dir/ui/resources/webui_generated_resources.pak", + ] + output = "$root_out_dir/qtwebengine_resources.pak" + deps = [ + "//qtwebengine/browser:qt_webengine_resources", + "//chrome/browser/resources/net_internals:net_internals_resources", + "//chrome/browser/resources/quota_internals:quota_internals_resources", + "//chrome/common:resources_grit", + "//components/resources:components_resources_grit", + "//components/resources:dev_ui_components_resources_grit", + "//content/browser/resources/media:media_internals_resources", + "//content/browser/tracing:resources", + "//content:content_resources_grit", + "//content:dev_ui_content_resources_grit", + "//mojo/public/js:resources", + "//net:net_resources_grit", + "//third_party/blink/public:resources_grit", + "//ui/resources:webui_resources_grd_grit", + "//ui/resources:webui_generated_resources_grd", + ] + if (enable_extensions) { + sources += [ + "$root_gen_dir/chrome/component_extension_resources.pak", + "$root_gen_dir/extensions/extensions_renderer_resources.pak", + "$root_gen_dir/extensions/extensions_resources.pak", + ] + deps += [ + "//chrome/browser/resources:component_extension_resources_grit", + "//extensions:extensions_renderer_resources_grit", + "//extensions:extensions_resources_grd_grit", + ] + } + if (enable_webrtc) { + sources += [ + "$root_gen_dir/content/browser/webrtc/resources/webrtc_internals_resources.pak", + ] + deps += [ + "//content/browser/webrtc/resources", + ] + } +} + +repack("qtwebengine_repack_resources_100") { + sources = [ + "$root_gen_dir/chrome/renderer_resources_100_percent.pak", + "$root_gen_dir/components/components_resources_100_percent.pak", + "$root_gen_dir/content/app/resources/content_resources_100_percent.pak", + "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak", + "$root_gen_dir/ui/resources/ui_resources_100_percent.pak", + ] + output = "$root_out_dir/qtwebengine_resources_100p.pak" + deps = [ + "//chrome/renderer:resources_grit", + "//components/resources:components_scaled_resources_grit", + "//content/app/resources:resources_grit", + "//third_party/blink/public:scaled_resources_100_percent", + "//ui/resources:ui_resources_grd_grit" + ] + if (enable_extensions) { + sources += [ + "$root_gen_dir/extensions/extensions_browser_resources_100_percent.pak" + ] + deps += [ + "//extensions:extensions_browser_resources_grit" + ] + } +} + +repack("qtwebengine_repack_resources_200") { + sources = [ + "$root_gen_dir/chrome/renderer_resources_200_percent.pak", + "$root_gen_dir/components/components_resources_200_percent.pak", + "$root_gen_dir/content/app/resources/content_resources_200_percent.pak", + "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_200_percent.pak", + "$root_gen_dir/ui/resources/ui_resources_200_percent.pak", + ] + output = "$root_out_dir/qtwebengine_resources_200p.pak" + deps = [ + "//chrome/renderer:resources_grit", + "//components/resources:components_scaled_resources_grit", + "//content/app/resources:resources_grit", + "//third_party/blink/public:scaled_resources_200_percent", + "//ui/resources:ui_resources_grd_grit" + ] + if (enable_extensions) { + sources += [ + "$root_gen_dir/extensions/extensions_browser_resources_200_percent.pak" + ] + deps += [ + "//extensions:extensions_browser_resources_grit" + ] + } +} + +repack("qtwebengine_repack_resources_devtools") { + sources = [ + "$root_gen_dir/content/browser/devtools/devtools_resources.pak", + ] + output = "$root_out_dir/qtwebengine_devtools_resources.pak" + deps = [ + "//content/browser/devtools:devtools_resources_grit", + ] +} + +chrome_repack_locales("qtwebengine_repack_locales_pack") { + input_locales = locales + output_dir = "$root_out_dir/qtwebengine_locales" + output_locales = locales +} + +if (enable_extensions) { + import("//tools/json_schema_compiler/json_features.gni") + json_features("qt_api_features") { + feature_type = "APIFeature" + method_name = "AddQtAPIFeatures" + sources = [ + "//extensions/common/api/_webengine_api_features.json" + ] + } + json_features("qt_permission_features") { + feature_type = "PermissionFeature" + method_name = "AddQtPermissionFeatures" + sources = [ + "//chrome/common/extensions/api/_permission_features.json", + "//extensions/common/api/_permission_features.json", + ] + } + group("qtwebengine_extensions_features") { + public_deps = [ + ":qt_api_features", + ":qt_permission_features", + "//chrome/common/extensions/api:extensions_features", + "//extensions/common/api:extensions_features", + ] + } +} diff --git a/src/core/configure/BUILD.toolchain.gn.in b/src/core/configure/BUILD.toolchain.gn.in new file mode 100644 index 000000000..e44fa42de --- /dev/null +++ b/src/core/configure/BUILD.toolchain.gn.in @@ -0,0 +1,43 @@ +import("//build/config/sysroot.gni") +import("//build/toolchain/gcc_toolchain.gni") +gcc_toolchain("host") { + cc = "@CMAKE_C_COMPILER@" + cxx = "@CMAKE_CXX_COMPILER@" + ld = "@CMAKE_CXX_COMPILER@" + ar = "@CMAKE_AR@" + nm = "@CMAKE_NM@" + extra_cppflags = "" + toolchain_args = { + current_os = "linux" + current_cpu = "x64" + is_clang = false + use_gold = false + } +} +gcc_toolchain("v8_snapshot") { + cc = "@CMAKE_C_COMPILER@" + cxx = "@CMAKE_CXX_COMPILER@" + ld = "@CMAKE_CXX_COMPILER@" + ar = "@CMAKE_AR@" + nm = "@CMAKE_NM@" + toolchain_args = { + current_os = "linux" + current_cpu = "x64" + v8_current_cpu = "x64" + is_clang = false + use_gold = false + } + } +gcc_toolchain("target") { + cc = "@CMAKE_C_COMPILER@" + cxx = "@CMAKE_CXX_COMPILER@" + ld = "@CMAKE_CXX_COMPILER@" + ar = "@CMAKE_AR@" + nm = "@CMAKE_NM@" + toolchain_args = { + current_os = "linux" + current_cpu = "x64" + is_clang = false + use_gold = false + } +} diff --git a/src/core/generator.cmake b/src/core/generator.cmake new file mode 100644 index 000000000..60042fb97 --- /dev/null +++ b/src/core/generator.cmake @@ -0,0 +1,263 @@ +set(GN_DEFINES QT_NO_KEYWORDS + QT_USE_QSTRINGBUILDER + QTWEBENGINECORE_VERSION_STR=\\\"${QT_REPO_MODULE_VERSION}\\\" + QTWEBENGINEPROCESS_NAME=\\\"${QTWEBENGINEPROCESS_NAME}\\\" + BUILDING_CHROMIUM) + +set(GN_SOURCES_IN + accessibility_activation_observer.cpp + accessibility_tree_formatter_qt.cpp + authentication_dialog_controller.cpp + browser_accessibility_manager_qt.cpp + browser_accessibility_qt.cpp + browsing_data_remover_delegate_qt.cpp + browser_main_parts_qt.cpp + browser_message_filter_qt.cpp + certificate_error_controller.cpp + chromium_overrides.cpp + client_cert_select_controller.cpp + clipboard_qt.cpp + color_chooser_qt.cpp + color_chooser_controller.cpp + common/qt_ipc_logging.cpp + common/qt_messages.cpp + compositor/compositor.cpp + compositor/content_gpu_client_qt.cpp + compositor/display_overrides.cpp + compositor/display_software_output_surface.cpp + content_client_qt.cpp + content_browser_client_qt.cpp + content_main_delegate_qt.cpp + content_utility_client_qt.cpp + delegated_frame_host_client_qt.cpp + desktop_screen_qt.cpp + devtools_frontend_qt.cpp + devtools_manager_delegate_qt.cpp + download_manager_delegate_qt.cpp + favicon_manager.cpp + file_picker_controller.cpp + find_text_helper.cpp + javascript_dialog_controller.cpp + javascript_dialog_manager_qt.cpp + login_delegate_qt.cpp + media_capture_devices_dispatcher.cpp + native_web_keyboard_event_qt.cpp + net/client_cert_override.cpp + net/client_cert_store_data.cpp + net/cookie_monster_delegate_qt.cpp + net/custom_url_loader_factory.cpp + net/proxy_config_monitor.cpp + net/proxy_config_service_qt.cpp + net/proxying_url_loader_factory_qt.cpp + net/proxying_restricted_cookie_manager_qt.cpp + net/qrc_url_scheme_handler.cpp + net/ssl_host_state_delegate_qt.cpp + net/system_network_context_manager.cpp + net/url_request_custom_job_delegate.cpp + net/url_request_custom_job_proxy.cpp + net/webui_controller_factory_qt.cpp + ozone/gl_context_qt.cpp + ozone/gl_share_context_qt.cpp + ozone/gl_ozone_egl_qt.cpp + ozone/gl_surface_qt.cpp + ozone/gl_surface_egl_qt.cpp + ozone/gl_surface_wgl_qt.cpp + ozone/platform_window_qt.cpp + ozone/surface_factory_qt.cpp + permission_manager_qt.cpp + platform_notification_service_qt.cpp + process_main.cpp + profile_adapter.cpp + profile_adapter_client.cpp + profile_qt.cpp + profile_io_data_qt.cpp + quota_permission_context_qt.cpp + quota_request_controller_impl.cpp + pref_service_adapter.cpp + register_protocol_handler_request_controller_impl.cpp + render_view_context_menu_qt.cpp + render_widget_host_view_qt.cpp + render_widget_host_view_qt_delegate_client.cpp + renderer/content_renderer_client_qt.cpp + renderer/content_settings_observer_qt.cpp + renderer/render_frame_observer_qt.cpp + renderer/web_engine_page_render_frame.cpp + renderer/render_configuration.cpp + renderer/user_resource_controller.cpp + renderer/plugins/plugin_placeholder_qt.cpp + renderer_host/web_engine_page_host.cpp + renderer_host/user_resource_controller_host.cpp + resource_bundle_qt.cpp + resource_context_qt.cpp + touch_handle_drawable_qt.cpp + touch_selection_controller_client_qt.cpp + touch_selection_menu_controller.cpp + type_conversion.cpp + user_notification_controller.cpp + user_script.cpp + visited_links_manager_qt.cpp + web_contents_adapter.cpp + web_contents_delegate_qt.cpp + web_contents_view_qt.cpp + web_engine_context.cpp + web_engine_context_threads.cpp + web_engine_error.cpp + web_engine_library_info.cpp + web_engine_settings.cpp + web_event_factory.cpp + ozone/gl_surface_glx_qt.cpp + ozone/gl_ozone_glx_qt.cpp + compositor/compositor_resource_fence.cpp + compositor/display_gl_output_surface.cpp) + +set(GN_HEADERS_IN + accessibility_activation_observer.h + authentication_dialog_controller_p.h + authentication_dialog_controller.h + build_config_qt.h + browser_accessibility_manager_qt.h + browser_accessibility_qt.h + browsing_data_remover_delegate_qt.h + browser_main_parts_qt.h + browser_message_filter_qt.h + certificate_error_controller.h + client_cert_select_controller.h + clipboard_change_observer.h + clipboard_qt.h + color_chooser_qt.h + color_chooser_controller_p.h + color_chooser_controller.h + common/qt_messages.h + compositor/compositor.h + compositor/content_gpu_client_qt.h + compositor/display_software_output_surface.h + content_client_qt.h + content_browser_client_qt.h + content_main_delegate_qt.h + content_utility_client_qt.h + delegated_frame_host_client_qt.h + desktop_screen_qt.h + devtools_frontend_qt.h + devtools_manager_delegate_qt.h + download_manager_delegate_qt.h + favicon_manager.h + file_picker_controller.h + find_text_helper.h + global_descriptors_qt.h + javascript_dialog_controller_p.h + javascript_dialog_controller.h + javascript_dialog_manager_qt.h + login_delegate_qt.h + media_capture_devices_dispatcher.h + net/client_cert_override.h + net/client_cert_store_data.h + net/cookie_monster_delegate_qt.h + net/custom_url_loader_factory.h + net/proxying_url_loader_factory_qt.h + net/proxying_restricted_cookie_manager_qt.h + net/qrc_url_scheme_handler.h + net/ssl_host_state_delegate_qt.h + net/system_network_context_manager.h + net/url_request_custom_job_delegate.h + net/url_request_custom_job_proxy.h + net/webui_controller_factory_qt.h + ozone/gl_context_qt.h + ozone/gl_share_context_qt.h + ozone/gl_ozone_egl_qt.h + ozone/gl_surface_qt.h + ozone/gl_surface_egl_qt.h + ozone/gl_surface_wgl_qt.h + ozone/platform_window_qt.h + ozone/surface_factory_qt.h + permission_manager_qt.h + platform_notification_service_qt.h + pref_service_adapter.h + process_main.h + profile_adapter.h + profile_adapter_client.h + profile_qt.h + profile_io_data_qt.h + proxy_config_monitor.h + proxy_config_service_qt.h + quota_permission_context_qt.h + quota_request_controller.h + quota_request_controller_impl.h + register_protocol_handler_request_controller.h + register_protocol_handler_request_controller_impl.h + render_view_context_menu_qt.h + render_widget_host_view_qt.h + render_widget_host_view_qt_delegate.h + render_widget_host_view_qt_delegate_client.h + renderer/content_renderer_client_qt.h + renderer/content_settings_observer_qt.h + renderer/render_frame_observer_qt.h + renderer/web_engine_page_render_frame.h + renderer/render_configuration.h + renderer/user_resource_controller.h + renderer/plugins/plugin_placeholder_qt.h + renderer_host/web_engine_page_host.h + renderer_host/user_resource_controller_host.h + request_controller.h + resource_context_qt.h + touch_handle_drawable_client.h + touch_handle_drawable_qt.h + touch_selection_controller_client_qt.h + touch_selection_menu_controller.h + type_conversion.h + user_notification_controller.h + user_script.h + visited_links_manager_qt.h + web_contents_adapter.h + web_contents_adapter_client.h + web_contents_delegate_qt.h + web_contents_view_qt.h + web_engine_context.h + web_engine_error.h + web_engine_library_info.h + web_engine_settings.h + web_event_factory.h + ozone/gl_ozone_glx_qt.h + ozone/gl_surface_glx_qt.h + compositor/compositor_resource_fence.h + compositor/display_gl_output_surface.h) + +foreach(GN_HEADER_FILE ${GN_HEADERS_IN}) + get_filename_component(GN_HEADER_PATH ${GN_HEADER_FILE} ABSOLUTE) + list(APPEND GN_HEADERS \"${GN_HEADER_PATH}\") +endforeach() +string(REPLACE ";" ",\n " GN_HEADERS "${GN_HEADERS}") +foreach(GN_SOURCE_FILE ${GN_SOURCES_IN}) + get_filename_component(GN_SOURCE_PATH ${GN_SOURCE_FILE} ABSOLUTE) + list(APPEND GN_SOURCES \"${GN_SOURCE_PATH}\") +endforeach() +string(REPLACE ";" ",\n " GN_SOURCES "${GN_SOURCES}") +include(${CMAKE_WEBENGINE_ROOT_BUILD_PATH}/src/core/api/gn_config.cxx.cmake) +include(${CMAKE_WEBENGINE_ROOT_BUILD_PATH}/src/core/api/gn_config.c.cmake) +list(APPEND GN_DEFINES_IN ${GN_DEFINES}) +list(REMOVE_DUPLICATES GN_DEFINES_IN) +unset(GN_DEFINES) +foreach(GN_DEFINE ${GN_DEFINES_IN}) + list(APPEND GN_ARGS_DEFINES \"-D${GN_DEFINE}\") + list(APPEND GN_DEFINES \"${GN_DEFINE}\") +endforeach() +string(REPLACE ";" ",\n " GN_ARGS_DEFINES "${GN_ARGS_DEFINES}") +string(REPLACE ";" ",\n " GN_DEFINES "${GN_DEFINES}") +list(REMOVE_DUPLICATES GN_INCLUDES_IN) +foreach(GN_INCLUDE ${GN_INCLUDES_IN}) + list(APPEND GN_ARGS_INCLUDES \"-I${GN_INCLUDE}\") + list(APPEND GN_INCLUDE_DIRS \"${GN_INCLUDE}\") +endforeach() +string(REPLACE ";" ",\n " GN_ARGS_INCLUDES "${GN_ARGS_INCLUDES}") +string(REPLACE ";" ",\n " GN_INCLUDE_DIRS "${GN_INCLUDE_DIRS}") +get_target_property(GN_MOC_BIN_IN Qt6::moc IMPORTED_LOCATION) +set(GN_ARGS_MOC_BIN \"${GN_MOC_BIN_IN}\") +foreach(GN_CXX_COMPILE_OPTION ${GN_CXX_COMPILE_OPTIONS_IN}) + list(APPEND GN_CFLAGS_CC \"${GN_CXX_COMPILE_OPTION}\") +endforeach() +list(REMOVE_DUPLICATES GN_CFLAGS_CC) +string(REPLACE ";" ",\n " GN_CFLAGS_CC "${GN_CFLAGS_CC}") +foreach(GN_C_COMPILE_OPTION ${GN_C_COMPILE_OPTIONS_IN}) + list(APPEND GN_CFLAGS_C \"${GN_C_COMPILE_OPTION}\") +endforeach() +list(REMOVE_DUPLICATES GN_CFLAGS_C) +string(REPLACE ";" ",\n " GN_CFLAGS_C "${GN_CFLAGS_C}") |