# 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 && current_cpu != "arm" && use_x11) {
  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",
    ]
  }
}
