mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
162 lines
4.0 KiB
Plaintext
162 lines
4.0 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_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_input_model.h",
|
|
"text_range.h",
|
|
]
|
|
|
|
sources = [ "text_input_model.cc" ]
|
|
|
|
configs += [ ":desktop_library_implementation" ]
|
|
|
|
public_configs = [ "//flutter:config" ]
|
|
|
|
deps = [ "//flutter/fml:fml" ]
|
|
|
|
if (is_win) {
|
|
# For wstring_conversion. See issue #50053.
|
|
defines = [ "_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING" ]
|
|
}
|
|
}
|
|
|
|
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") {
|
|
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/cpp/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 futher along and it's clearer how much, if any, shared
|
|
# API surface there will be.
|
|
source_set("common_cpp_core") {
|
|
public = [ "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",
|
|
"json_message_codec_unittests.cc",
|
|
"json_method_codec_unittests.cc",
|
|
"text_input_model_unittests.cc",
|
|
"text_range_unittests.cc",
|
|
]
|
|
|
|
deps = [
|
|
":common_cpp",
|
|
":common_cpp_fixtures",
|
|
":common_cpp_input",
|
|
":common_cpp_switches",
|
|
"//flutter/shell/platform/common/cpp/client_wrapper:client_wrapper",
|
|
"//flutter/shell/platform/common/cpp/client_wrapper:client_wrapper_library_stubs",
|
|
"//flutter/testing",
|
|
]
|
|
|
|
public_configs = [ "//flutter:config" ]
|
|
}
|
|
}
|