116 lines
3.4 KiB
Lua
116 lines
3.4 KiB
Lua
newoption {
|
|
trigger = "with-gtk3nfd",
|
|
description = "Build with native file dialog support(GTK3 required. Linux only)"
|
|
}
|
|
|
|
newoption {
|
|
trigger = "asan",
|
|
description = "Enable Address Sanitizer(gcc5+ ang clang only)"
|
|
}
|
|
|
|
sources = {
|
|
"stbi-impl.cc",
|
|
"main.cc",
|
|
"render.cc",
|
|
"render-config.cc",
|
|
"obj-loader.cc",
|
|
"gltf-loader.cc",
|
|
"matrix.cc",
|
|
"../common/trackball.cc",
|
|
"../common/imgui/imgui.cpp",
|
|
"../common/imgui/imgui_draw.cpp",
|
|
"../common/imgui/imgui_impl_btgui.cpp",
|
|
"../common/imgui/ImGuizmo.cpp",
|
|
}
|
|
|
|
solution "NanoSGSolution"
|
|
configurations { "Release", "Debug" }
|
|
|
|
if os.is("Windows") then
|
|
platforms { "x64", "x32" }
|
|
else
|
|
platforms { "native", "x64", "x32" }
|
|
end
|
|
|
|
|
|
-- RootDir for OpenGLWindow
|
|
projectRootDir = os.getcwd() .. "/../common/"
|
|
dofile ("../common/findOpenGLGlewGlut.lua")
|
|
initOpenGL()
|
|
initGlew()
|
|
|
|
-- Use c++11
|
|
flags { "c++11" }
|
|
|
|
-- A project defines one build target
|
|
project "viwewer"
|
|
kind "ConsoleApp"
|
|
language "C++"
|
|
files { sources }
|
|
|
|
includedirs { "./", "../../" }
|
|
includedirs { "../common" }
|
|
includedirs { "../common/imgui" }
|
|
includedirs { "../common/glm" }
|
|
--includedirs { "../common/nativefiledialog/src/include" }
|
|
|
|
if _OPTIONS['asan'] then
|
|
buildoptions { "-fsanitize=address" }
|
|
linkoptions { "-fsanitize=address" }
|
|
end
|
|
|
|
if os.is("Windows") then
|
|
warnings "Extra" -- /W4
|
|
|
|
defines { "NOMINMAX" }
|
|
defines { "USE_NATIVEFILEDIALOG" }
|
|
buildoptions { "/W4" } -- raise compile error level.
|
|
files{
|
|
"../common/OpenGLWindow/Win32OpenGLWindow.cpp",
|
|
"../common/OpenGLWindow/Win32OpenGLWindow.h",
|
|
"../common/OpenGLWindow/Win32Window.cpp",
|
|
"../common/OpenGLWindow/Win32Window.h",
|
|
}
|
|
includedirs { "./../common/nativefiledialog/src/include" }
|
|
files { "../common/nativefiledialog/src/nfd_common.c",
|
|
"../common/nativefiledialog/src/nfd_win.cpp" }
|
|
end
|
|
if os.is("Linux") then
|
|
files {
|
|
"../common/OpenGLWindow/X11OpenGLWindow.cpp",
|
|
"../common/OpenGLWindow/X11OpenGLWindows.h"
|
|
}
|
|
links {"X11", "pthread", "dl"}
|
|
if _OPTIONS["with-gtk3nfd"] then
|
|
defines { "USE_NATIVEFILEDIALOG" }
|
|
includedirs { "./../common/nativefiledialog/src/include" }
|
|
files { "../common/nativefiledialog/src/nfd_gtk.c",
|
|
"../common/nativefiledialog/src/nfd_common.c"
|
|
}
|
|
buildoptions { "`pkg-config --cflags gtk+-3.0`" }
|
|
linkoptions { "`pkg-config --libs gtk+-3.0`" }
|
|
end
|
|
end
|
|
if os.is("MacOSX") then
|
|
defines { "USE_NATIVEFILEDIALOG" }
|
|
links {"Cocoa.framework"}
|
|
files {
|
|
"../common/OpenGLWindow/MacOpenGLWindow.h",
|
|
"../common/OpenGLWindow/MacOpenGLWindow.mm",
|
|
}
|
|
includedirs { "./../common/nativefiledialog/src/include" }
|
|
files { "../common/nativefiledialog/src/nfd_cocoa.m",
|
|
"../common/nativefiledialog/src/nfd_common.c" }
|
|
end
|
|
|
|
configuration "Debug"
|
|
defines { "DEBUG" } -- -DDEBUG
|
|
symbols "On"
|
|
targetname "view_debug"
|
|
|
|
configuration "Release"
|
|
-- defines { "NDEBUG" } -- -NDEBUG
|
|
symbols "On"
|
|
optimize "On"
|
|
targetname "view"
|