| # 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. |
| |
| config("desktop_library_implementation") { |
| defines = [ "FLUTTER_DESKTOP_LIBRARY" ] |
| } |
| |
| _public_headers = [ |
| "public/flutter_export.h", |
| "public/flutter_messenger.h", |
| "public/flutter_plugin_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" ] |
| } |
| |
| source_set("common_cpp") { |
| public = [ |
| "incoming_message_dispatcher.h", |
| "text_input_model.h", |
| ] |
| |
| # TODO: Refactor flutter_glfw.cc to move the implementations corresponding |
| # to the _public_headers above into this target. |
| sources = [ |
| "incoming_message_dispatcher.cc", |
| "text_input_model.cc", |
| ] |
| |
| configs += [ ":desktop_library_implementation" ] |
| |
| deps = [ |
| ":common_cpp_library_headers", |
| "$flutter_root/shell/platform/common/cpp/client_wrapper:client_wrapper", |
| "$flutter_root/shell/platform/embedder:embedder_with_symbol_prefix", |
| ] |
| |
| # TODO: Remove once text input model refactor lands, at which point this code |
| # won't have a JSON dependency. |
| defines = [ "USE_RAPID_JSON" ] |
| deps += [ "//third_party/rapidjson" ] |
| } |
| |
| copy("publish_headers") { |
| sources = _public_headers |
| outputs = [ |
| "$root_out_dir/{{source_file_part}}", |
| ] |
| } |