chromium 编译源码里面的单一模块 测试用例

时间:2021-08-11
本文章向大家介绍chromium 编译源码里面的单一模块 测试用例,主要包括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" ]
  }
}

  

原文地址:https://www.cnblogs.com/bigben0123/p/15128577.html