# Copyright 2016 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

inputs = [
  "data/ref/input/chair.camera",
  "data/ref/input/chair.control.cook",
  "data/ref/input/chair.control.kajiya",
  "data/ref/input/chair.control.rushmeier",
  "data/ref/input/chair.surfaces",
  "data/ref/input/eon.dat",
  "data/ref/input/materials",
  "data/ref/input/spectra.dat",
]

executable("252.eon") {
  testonly = true

  sources = [
    "src/eon.cc",
    "src/eonImageCalculator.cc",
    "src/ggBRDF.cc",
    "src/ggBoardFloorSolidTexture.cc",
    "src/ggBox2.cc",
    "src/ggBox3.cc",
    "src/ggBoxPixelFilter.cc",
    "src/ggCamera.cc",
    "src/ggConductorMaterial.cc",
    "src/ggCoverageSolidTexture.cc",
    "src/ggDielectricMaterial.cc",
    "src/ggDiffuseBRDF.cc",
    "src/ggDiffuseMaterial.cc",
    "src/ggEdgeDiscrepancy.cc",
    "src/ggErr.cc",
    "src/ggFineSpectrum.cc",
    "src/ggFormat.cc",
    "src/ggFrame2.cc",
    "src/ggFrame3.cc",
    "src/ggFrameInterpolation.cc",
    "src/ggGamma.cc",
    "src/ggGeometry.cc",
    "src/ggGrayPixel_x.cc",
    "src/ggHAffineMatrix3.cc",
    "src/ggHBoxMatrix3.cc",
    "src/ggHMatrix3.cc",
    "src/ggHPerspectiveMatrix3.cc",
    "src/ggHPoint3.cc",
    "src/ggHRigidBodyMatrix3.cc",
    "src/ggHRotationMatrix3.cc",
    "src/ggHScaleMatrix3.cc",
    "src/ggHShearMatrix3.cc",
    "src/ggHTranslationMatrix3.cc",
    "src/ggJitterSample1.cc",
    "src/ggJitterSample2.cc",
    "src/ggMaterial.cc",
    "src/ggNA.cc",
    "src/ggNRooksSample2.cc",
    "src/ggONB2.cc",
    "src/ggONB3.cc",
    "src/ggOakSolidTexture.cc",
    "src/ggOptics.cc",
    "src/ggPathDielectricMaterial.cc",
    "src/ggPhongBRDF.cc",
    "src/ggPinholeCamera.cc",
    "src/ggPixelFilter.cc",
    "src/ggPlane.cc",
    "src/ggPoint2.cc",
    "src/ggPoint3.cc",
    "src/ggPolishedBRDF.cc",
    "src/ggPolishedMaterial.cc",
    "src/ggPolygon.cc",
    "src/ggQuaternion.cc",
    "src/ggRGBE.cc",
    "src/ggRGBFPixel.cc",
    "src/ggRGBPixel_x.cc",
    "src/ggRandomSample2.cc",
    "src/ggRandomSample3.cc",
    "src/ggRasterSurfaceTexture.cc",
    "src/ggRay2.cc",
    "src/ggRay3.cc",
    "src/ggRotatingPinholeCamera.cc",
    "src/ggSolidNoise2.cc",
    "src/ggSolidNoise3.cc",
    "src/ggSolidTexture.cc",
    "src/ggSpectrum.cc",
    "src/ggSpecularMaterial.cc",
    "src/ggSphere.cc",
    "src/ggSpline.cc",
    "src/ggString.cc",
    "src/ggThinLensCamera.cc",
    "src/ggTrianglePixelFilter.cc",
    "src/ggVector2.cc",
    "src/ggVector3.cc",
    "src/mrBox.cc",
    "src/mrBruteForcePixelRenderer.cc",
    "src/mrCamera.cc",
    "src/mrCoarsePixelRenderer.cc",
    "src/mrCookPixelRenderer.cc",
    "src/mrDiffuseAreaSphereLuminaire.cc",
    "src/mrDiffuseAreaTriangleLuminaire.cc",
    "src/mrDiffuseAreaXYRectangleLuminaire.cc",
    "src/mrDiffuseAreaXZRectangleLuminaire.cc",
    "src/mrDiffuseAreaYZRectangleLuminaire.cc",
    "src/mrDiffuseAreaZCylinderLuminaire.cc",
    "src/mrDiffuseCosineSphereLuminaire.cc",
    "src/mrDiffuseCosineZCylinderLuminaire.cc",
    "src/mrDiffuseSolidAngleSphereLuminaire.cc",
    "src/mrDiffuseVisibleAreaZCylinderLuminaire.cc",
    "src/mrEmitter.cc",
    "src/mrFastTriangle.cc",
    "src/mrGrid.cc",
    "src/mrImposter.cc",
    "src/mrIndirectPixelRenderer.cc",
    "src/mrInstance.cc",
    "src/mrKajiyaPixelRenderer.cc",
    "src/mrLinkedObjects.cc",
    "src/mrMaterial.cc",
    "src/mrObjectRecord.cc",
    "src/mrPhongAreaTriangleLuminaire.cc",
    "src/mrPhongAreaXYRectangleLuminaire.cc",
    "src/mrPhongAreaXZRectangleLuminaire.cc",
    "src/mrPhongAreaYZRectangleLuminaire.cc",
    "src/mrPolygon.cc",
    "src/mrRushmeierPixelRenderer.cc",
    "src/mrScene.cc",
    "src/mrShellLuminaire.cc",
    "src/mrSolidTexture.cc",
    "src/mrSphere.cc",
    "src/mrSpotAreaXYDiskLuminaire.cc",
    "src/mrSurface.cc",
    "src/mrSurfaceList.cc",
    "src/mrSurfaceTexture.cc",
    "src/mrTriangle.cc",
    "src/mrXCylinder.cc",
    "src/mrXEllipticalCylinder.cc",
    "src/mrXYDisk.cc",
    "src/mrXYRectangle.cc",
    "src/mrXZDisk.cc",
    "src/mrXZRectangle.cc",
    "src/mrYCylinder.cc",
    "src/mrYEllipticalCylinder.cc",
    "src/mrYZDisk.cc",
    "src/mrYZRectangle.cc",
    "src/mrZCylinder.cc",
    "src/mrZEllipticalCylinder.cc",
    "src/myrand.cc",
  ]
  defines = [
    "HAS_ERRLIST",
    "NDEBUG",
    "SPEC_CPU2000_LP64",
    "USE_STRERROR",
  ]
  cflags_cc = [
    "-Wno-unused-variable",
    "-Wno-header-guard",
    "-Wno-deprecated-register",
    "-Wno-unused-value",
    "-Wno-sign-compare",
    "-Wno-sometimes-uninitialized",
    "-Wno-delete-non-virtual-dtor",
  ]
  include_dirs = [ "src" ]
  if (current_os == "fuchsia") {
    data = inputs
  } else {
    data_deps = [
      ":copy_inputs",
    ]
  }
  if (current_os == "linux") {
    libs = [ "pthread" ]
  }
}

copy("copy_inputs") {
  visibility = [ ":*" ]
  sources = inputs
  outputs = [
    "$root_out_dir/data/252.eon/{{source_file_part}}",
  ]
}
