diff --git a/shell/platform/BUILD.gn b/shell/platform/BUILD.gn index 206f997d9d04b..89b1bbabe6f4d 100644 --- a/shell/platform/BUILD.gn +++ b/shell/platform/BUILD.gn @@ -13,9 +13,12 @@ group("platform") { ] } else if (is_linux) { deps = [] - } else if (is_win || is_fuchsia) { - # There is no platform target on Windows. Fuchsia has its own runner - # implementation. + } else if (is_win) { + deps = [ + "windows", + ] + } else if ( is_fuchsia) { + # Fuchsia has its own runner implementation. deps = [] } else { assert(false, "Unknown/Unsupported platform.") diff --git a/shell/platform/common/cpp/client_wrapper/publish.gni b/shell/platform/common/cpp/client_wrapper/publish.gni index 8913062ced2f4..5483ab56a6a7c 100644 --- a/shell/platform/common/cpp/client_wrapper/publish.gni +++ b/shell/platform/common/cpp/client_wrapper/publish.gni @@ -23,7 +23,10 @@ template("publish_client_wrapper") { } copy("${template_target_name}_publish_includes") { - visibility = [ ":$template_target_name" ] + visibility = [ + ":$template_target_name", + ":${template_target_name}_publish_sources", + ] sources = invoker.public outputs = [ @@ -38,5 +41,12 @@ template("publish_client_wrapper") { outputs = [ "$publish_dir_root/{{source_file_part}}", ] + + # GN on Windows appears to do #include checks even for copy + # targets, so add the dependency to the headers to satisfy + # the check. + deps = [ + ":${template_target_name}_publish_includes", + ] } } diff --git a/shell/platform/windows/BUILD.gn b/shell/platform/windows/BUILD.gn new file mode 100644 index 0000000000000..26fe53036b49a --- /dev/null +++ b/shell/platform/windows/BUILD.gn @@ -0,0 +1,22 @@ +# Copyright 2013 The Flutter Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +assert(is_win) + +group("windows") { + deps = [ + ":flutter_windows", + "$flutter_root/shell/platform/glfw:publish_headers_glfw", + "$flutter_root/shell/platform/common/cpp/client_wrapper:publish_wrapper", + "$flutter_root/shell/platform/glfw/client_wrapper:publish_wrapper_glfw", + ] +} + +shared_library("flutter_windows") { + deps = [ + "$flutter_root/shell/platform/glfw:flutter_glfw", + ] + + public_configs = [ "$flutter_root:config" ] +}