import("//Meta/gn/build/compiled_action.gni") import("//Meta/gn/build/embed_as_string_view.gni") compiled_action("WebContentClientEndpoint") { tool = "//Meta/Lagom/Tools/CodeGenerators/IPCCompiler" inputs = [ "//Userland/Services/WebContent/WebContentClient.ipc" ] outputs = [ "$root_gen_dir/WebContent/WebContentClientEndpoint.h" ] args = [ rebase_path(inputs[0], root_build_dir), "-o", rebase_path(outputs[0], root_build_dir), ] } compiled_action("WebContentServerEndpoint") { tool = "//Meta/Lagom/Tools/CodeGenerators/IPCCompiler" inputs = [ "//Userland/Services/WebContent/WebContentServer.ipc" ] outputs = [ "$root_gen_dir/WebContent/WebContentServerEndpoint.h" ] args = [ rebase_path(inputs[0], root_build_dir), "-o", rebase_path(outputs[0], root_build_dir), ] } compiled_action("WebDriverClientEndpoint") { tool = "//Meta/Lagom/Tools/CodeGenerators/IPCCompiler" inputs = [ "//Userland/Services/WebContent/WebDriverClient.ipc" ] outputs = [ "$root_gen_dir/WebContent/WebDriverClientEndpoint.h" ] args = [ rebase_path(inputs[0], root_build_dir), "-o", rebase_path(outputs[0], root_build_dir), ] } compiled_action("WebDriverServerEndpoint") { tool = "//Meta/Lagom/Tools/CodeGenerators/IPCCompiler" inputs = [ "//Userland/Services/WebContent/WebDriverServer.ipc" ] outputs = [ "$root_gen_dir/WebContent/WebDriverServerEndpoint.h" ] args = [ rebase_path(inputs[0], root_build_dir), "-o", rebase_path(outputs[0], root_build_dir), ] } embed_as_string_view("generate_native_stylesheet_source") { input = "Native.css" output = "$target_gen_dir/NativeStyleSheetSource.cpp" variable_name = "native_stylesheet_source" namespace = "WebView" } shared_library("LibWebView") { output_name = "webview" include_dirs = [ "//Userland/Libraries", "//Userland/Services", "//Userland/", ] deps = [ ":WebContentClientEndpoint", ":WebContentServerEndpoint", ":WebDriverClientEndpoint", ":WebDriverServerEndpoint", ":generate_native_stylesheet_source", "//AK", "//Userland/Libraries/LibCore", "//Userland/Libraries/LibGUI", "//Userland/Libraries/LibGfx", "//Userland/Libraries/LibIPC", "//Userland/Libraries/LibJS", "//Userland/Libraries/LibProtocol", "//Userland/Libraries/LibSQL", "//Userland/Libraries/LibWeb", ] sources = [ "AccessibilityTreeModel.cpp", "ConsoleClient.cpp", "CookieJar.cpp", "DOMTreeModel.cpp", "Database.cpp", "History.cpp", "RequestServerAdapter.cpp", "SourceHighlighter.cpp", "StylePropertiesModel.cpp", "UserAgent.cpp", "ViewImplementation.cpp", "WebContentClient.cpp", "WebSocketClientAdapter.cpp", ] sources += get_target_outputs(":WebContentClientEndpoint") + get_target_outputs(":WebContentServerEndpoint") + get_target_outputs(":WebDriverClientEndpoint") + get_target_outputs(":WebDriverServerEndpoint") + get_target_outputs(":generate_native_stylesheet_source") }