newoption {
  trigger     = "with-gtk3nfd",
  description = "Build with nativefiledialog support. GTK3 required(Linux only)"
}

sources = {
  "main.cc",
  "exr-io.cc",
  "../../deps/miniz/miniz.c"
}

-- premake4.lua
solution "EXRViewSolution"
  configurations { "Release", "Debug" }

  platforms { "native", "x64", "x32" }


  projectRootDir = os.getcwd() .. "/"
  dofile ("findOpenGLGlewGlut.lua")
  initOpenGL()
  initGlew()

  -- A project defines one build target
  project "exrview"
     kind "ConsoleApp"
     language "C++"
     files { sources }

     includedirs { "./", "../../", "../../deps/miniz" }

     if os.is("Windows") then
        defines { "USE_NATIVEFILEDIALOG" }
        files{
           "OpenGLWindow/Win32OpenGLWindow.cpp",
           "OpenGLWindow/Win32OpenGLWindow.h",
           "OpenGLWindow/Win32Window.cpp",
           "OpenGLWindow/Win32Window.h",
           }
        includedirs { "./ThirdPartyLibs/nativefiledialog/src/include/" }
        files  {
           "ThirdPartyLibs/nativefiledialog/src/nfd_common.c",
           "ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp"
        }
     end
     if os.is("Linux") then
        files {
           "OpenGLWindow/X11OpenGLWindow.cpp",
           "OpenGLWindow/X11OpenGLWindows.h"
           }
        links {"X11", "pthread", "dl"}

        if _OPTIONS["with-gtk3nfd"] then -- NFD + GTK3
           defines { "USE_NATIVEFILEDIALOG" }
           includedirs { "./ThirdPartyLibs/nativefiledialog/src/include/" }
           buildoptions { "`pkg-config --cflags gtk+-3.0`" }
           linkoptions { "`pkg-config --libs gtk+-3.0`" }
           files  {
              "ThirdPartyLibs/nativefiledialog/src/nfd_common.c",
              "ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c"
           }
        end

     end
     if os.is("MacOSX") then
        defines { "USE_NATIVEFILEDIALOG" }
        links {"Cocoa.framework"}
        files {
               "OpenGLWindow/MacOpenGLWindow.h",
               "OpenGLWindow/MacOpenGLWindow.mm",
              }
        includedirs { "./ThirdPartyLibs/nativefiledialog/src/include/" }
        files  {
           "ThirdPartyLibs/nativefiledialog/src/nfd_common.c",
           "ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m"
        }
     end

     configuration "Debug"
        defines { "DEBUG" } -- -DDEBUG
        flags { "Symbols" }
        targetname "exrview_debug"

     configuration "Release"
        -- defines { "NDEBUG" } -- -NDEBUG
        flags { "Symbols", "Optimize" }
        targetname "exrview"