chromium 编译源码里面的单一模块 测试用例
当查看chromium源码,发现在viz下有个demo可执行源码。位于目录:
src\components\viz\demo
打开此目录下的 BUILD.gn ,找到 gn 的target:
executable("viz_demo")
输入如下命令编译即可:
e:\dev\chromium\src>ninja -C out/default viz_demo
运行:
e:\dev\chromium\src>out\Default\viz_demo.exe
附上BUILD.gn :
# Copyright 2019 The Chromium 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("//build/config/ui.gni")
static_library("client") {
output_name = "demo_client"
sources = [
"client/demo_client.cc",
"client/demo_client.h",
]
deps = [
"//components/viz/common",
"//mojo/public/cpp/bindings",
"//services/viz/public/mojom",
]
}
static_library("host") {
output_name = "demo_host"
sources = [
"host/demo_host.cc",
"host/demo_host.h",
]
deps = [
":client",
"//components/viz/common",
"//components/viz/host",
"//mojo/public/cpp/system",
"//services/viz/privileged/mojom",
]
}
static_library("service") {
output_name = "demo_service"
sources = [
"service/demo_service.cc",
"service/demo_service.h",
]
deps = [
"//components/viz/common",
"//components/viz/service/main",
"//mojo/public/cpp/system",
"//services/viz/privileged/mojom",
]
}
executable("viz_demo") {
sources = [ "demo_main.cc" ]
deps = [
"//base",
"//base:base_static",
"//base:i18n",
"//build/win:default_exe_manifest",
"//components/viz/demo:host",
"//components/viz/demo:service",
"//components/viz/service",
"//components/viz/service/main",
"//mojo/core/embedder",
"//skia",
"//ui/events",
"//ui/events/platform",
"//ui/platform_window",
]
if (use_x11) {
deps += [
"//ui/events/platform/x11",
"//ui/platform_window/x11",
]
}
if (is_win) {
deps += [ "//ui/platform_window/win" ]
}
}

浙公网安备 33010602011771号