Index: ui/views/BUILD.gn |
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn |
index d02ed9bd42042a62803cbb1a12ab14009d767a0f..b6327b0bb7ee5f06cd1811dba137e8699cbdae91 100644 |
--- a/ui/views/BUILD.gn |
+++ b/ui/views/BUILD.gn |
@@ -15,6 +15,8 @@ config("flags") { |
defines = [ "TOOLKIT_VIEWS=1" ] |
} |
+constructor_list_cc_file = "$target_gen_dir/desktop_factory_ozone_list.cc" |
+ |
component("views") { |
all_dependent_configs = [ ":flags" ] |
sources = gypi_values.views_sources |
@@ -127,6 +129,13 @@ component("views") { |
sources += gypi_values.views_desktop_aura_win_sources |
} else if (use_ozone) { |
sources += gypi_values.views_desktop_aura_ozone_sources |
+ deps += [ |
+ ":generate_constructor_list", |
+ ] |
+ sources += [ constructor_list_cc_file ] |
+ if (ozone_platform_wayland) { |
+ sources += gypi_values.views_desktop_aura_ozone_wayland_sources |
+ } |
} |
if (is_linux) { |
sources += gypi_values.views_desktop_aura_linux_sources |
@@ -332,3 +341,20 @@ if (is_mac) { |
] |
} |
} |
+ |
+# GYP version: ui//views/views.gyp:generate_constructor_list |
+action("generate_constructor_list") { |
+ script = "../ozone/generate_constructor_list.py" |
+ outputs = [ |
+ constructor_list_cc_file, |
+ ] |
+ platform_list_txt_file = "$target_gen_dir/../ozone/platform_list.txt" |
+ |
+ args = [ |
+ "--platform_list=" + rebase_path(platform_list_txt_file, root_build_dir), |
+ "--output_cc=" + rebase_path(constructor_list_cc_file, root_build_dir), |
+ "--namespace=views", |
+ "--typename=DesktopFactoryOzone", |
+ "--include=\"ui/views/widget/desktop_aura/desktop_factory_ozone.h\"", |
+ ] |
+} |