# Copyright 2015 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")

if (is_linux && !is_chromeos && target_cpu != "arm" && use_x11) {
  # GYP version: //gpu/tools/tools.gyp:compositor_model_bench
  executable("compositor_model_bench") {
    sources = [
      "compositor_model_bench.cc",
      "forward_render_model.cc",
      "render_model_utils.cc",
      "render_models.cc",
      "render_tree.cc",
      "shaders.cc",
    ]

    libs = [ "GL" ]

    configs += [ "//build/config/linux:x11" ]

    deps = [
      "//base",
      "//build/config/sanitizers:deps",
      "//ui/gl",
      "//ui/gl/init",
    ]
  }
}
