mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
## Description This reverts commit 879917b to re-land #40542 to fix the lint warning which caused the original PR to be reverted (the lint warnings were turned on after the original was landed, which is why it wasn't caught earlier).
216 lines
5.2 KiB
Plaintext
216 lines
5.2 KiB
Plaintext
# 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.
|
|
|
|
import("//flutter/common/config.gni")
|
|
import("//flutter/testing/testing.gni")
|
|
|
|
config("desktop_library_implementation") {
|
|
defines = [ "FLUTTER_DESKTOP_LIBRARY" ]
|
|
}
|
|
|
|
_public_headers = [
|
|
"public/flutter_export.h",
|
|
"public/flutter_macros.h",
|
|
"public/flutter_messenger.h",
|
|
"public/flutter_plugin_registrar.h",
|
|
"public/flutter_texture_registrar.h",
|
|
]
|
|
|
|
# Any files that are built by clients (client_wrapper code, library headers for
|
|
# implementations using this shared code, etc.) include the public headers
|
|
# assuming they are in the include path. This configuration should be added to
|
|
# any such code that is also built by GN to make the includes work.
|
|
config("relative_flutter_library_headers") {
|
|
include_dirs = [ "public" ]
|
|
}
|
|
|
|
# The headers are a separate source set since the client wrapper is allowed
|
|
# to depend on the public headers, but none of the rest of the code.
|
|
source_set("common_cpp_library_headers") {
|
|
public = _public_headers
|
|
|
|
configs += [ ":desktop_library_implementation" ]
|
|
}
|
|
|
|
copy("publish_headers") {
|
|
sources = _public_headers
|
|
outputs = [ "$root_out_dir/{{source_file_part}}" ]
|
|
}
|
|
|
|
source_set("common_cpp_input") {
|
|
public = [
|
|
"text_editing_delta.h",
|
|
"text_input_model.h",
|
|
"text_range.h",
|
|
]
|
|
|
|
sources = [
|
|
"text_editing_delta.cc",
|
|
"text_input_model.cc",
|
|
]
|
|
|
|
configs += [ ":desktop_library_implementation" ]
|
|
|
|
public_configs = [ "//flutter:config" ]
|
|
|
|
deps = [ "//flutter/fml:fml" ]
|
|
}
|
|
|
|
source_set("common_cpp_enums") {
|
|
public = [
|
|
"app_lifecycle_state.h",
|
|
"platform_provided_menu.h",
|
|
]
|
|
|
|
public_configs = [
|
|
"//flutter:config",
|
|
"//flutter/common:flutter_config",
|
|
]
|
|
}
|
|
|
|
source_set("common_cpp_switches") {
|
|
public = [ "engine_switches.h" ]
|
|
|
|
sources = [ "engine_switches.cc" ]
|
|
|
|
public_configs = [
|
|
"//flutter:config",
|
|
"//flutter/common:flutter_config",
|
|
]
|
|
}
|
|
|
|
source_set("common_cpp_accessibility") {
|
|
public = [
|
|
"accessibility_bridge.h",
|
|
"alert_platform_node_delegate.h",
|
|
"flutter_platform_node_delegate.h",
|
|
]
|
|
|
|
sources = [
|
|
"accessibility_bridge.cc",
|
|
"alert_platform_node_delegate.cc",
|
|
"flutter_platform_node_delegate.cc",
|
|
]
|
|
|
|
public_configs =
|
|
[ "//flutter/third_party/accessibility:accessibility_config" ]
|
|
|
|
public_deps = [
|
|
"//flutter/fml:fml",
|
|
"//flutter/shell/platform/embedder:embedder_as_internal_library",
|
|
"//flutter/third_party/accessibility",
|
|
]
|
|
}
|
|
|
|
source_set("common_cpp") {
|
|
public = [
|
|
"incoming_message_dispatcher.h",
|
|
"json_message_codec.h",
|
|
"json_method_codec.h",
|
|
]
|
|
|
|
# TODO: Refactor flutter_glfw.cc to move the implementations corresponding
|
|
# to the _public_headers above into this target.
|
|
sources = [
|
|
"incoming_message_dispatcher.cc",
|
|
"json_message_codec.cc",
|
|
"json_method_codec.cc",
|
|
]
|
|
|
|
configs += [ ":desktop_library_implementation" ]
|
|
|
|
public_configs = [ "//flutter:config" ]
|
|
|
|
deps = [
|
|
":common_cpp_library_headers",
|
|
"//flutter/shell/platform/common/client_wrapper:client_wrapper",
|
|
"//flutter/shell/platform/embedder:embedder_as_internal_library",
|
|
]
|
|
|
|
public_deps = [
|
|
":common_cpp_core",
|
|
"//third_party/rapidjson",
|
|
]
|
|
}
|
|
|
|
# The portion of common_cpp that has no dependencies on the public/
|
|
# headers. This division should be revisited once the Linux GTK
|
|
# embedding is further along and it's clearer how much, if any, shared
|
|
# API surface there will be.
|
|
source_set("common_cpp_core") {
|
|
public = [
|
|
"geometry.h",
|
|
"path_utils.h",
|
|
]
|
|
|
|
sources = [ "path_utils.cc" ]
|
|
|
|
public_configs = [ "//flutter:config" ]
|
|
}
|
|
|
|
if (enable_unittests) {
|
|
test_fixtures("common_cpp_core_fixtures") {
|
|
fixtures = []
|
|
}
|
|
|
|
executable("common_cpp_core_unittests") {
|
|
testonly = true
|
|
|
|
sources = [ "path_utils_unittests.cc" ]
|
|
|
|
deps = [
|
|
":common_cpp_core",
|
|
":common_cpp_core_fixtures",
|
|
"//flutter/testing",
|
|
"//third_party/dart/runtime:libdart_jit",
|
|
]
|
|
|
|
public_configs = [ "//flutter:config" ]
|
|
}
|
|
|
|
test_fixtures("common_cpp_fixtures") {
|
|
fixtures = []
|
|
}
|
|
|
|
executable("common_cpp_unittests") {
|
|
testonly = true
|
|
|
|
sources = [
|
|
"engine_switches_unittests.cc",
|
|
"geometry_unittests.cc",
|
|
"incoming_message_dispatcher_unittests.cc",
|
|
"json_message_codec_unittests.cc",
|
|
"json_method_codec_unittests.cc",
|
|
"text_editing_delta_unittests.cc",
|
|
"text_input_model_unittests.cc",
|
|
"text_range_unittests.cc",
|
|
]
|
|
|
|
deps = [
|
|
":common_cpp",
|
|
":common_cpp_fixtures",
|
|
":common_cpp_input",
|
|
":common_cpp_switches",
|
|
"//flutter/fml:string_conversion",
|
|
"//flutter/shell/platform/common/client_wrapper:client_wrapper",
|
|
"//flutter/shell/platform/common/client_wrapper:client_wrapper_library_stubs",
|
|
"//flutter/testing",
|
|
]
|
|
|
|
# The accessibility bridge only supports MacOS for now.
|
|
if (is_mac || is_win) {
|
|
sources += [
|
|
"accessibility_bridge_unittests.cc",
|
|
"flutter_platform_node_delegate_unittests.cc",
|
|
"test_accessibility_bridge.cc",
|
|
"test_accessibility_bridge.h",
|
|
]
|
|
|
|
deps += [ ":common_cpp_accessibility" ]
|
|
}
|
|
|
|
public_configs = [ "//flutter:config" ]
|
|
}
|
|
}
|