aboutsummaryrefslogtreecommitdiff
path: root/experimental/premake5.lua
diff options
context:
space:
mode:
Diffstat (limited to 'experimental/premake5.lua')
-rw-r--r--experimental/premake5.lua94
1 files changed, 94 insertions, 0 deletions
diff --git a/experimental/premake5.lua b/experimental/premake5.lua
new file mode 100644
index 0000000..29511e1
--- /dev/null
+++ b/experimental/premake5.lua
@@ -0,0 +1,94 @@
+newoption {
+ trigger = "with-zlib",
+ description = "Build with zlib."
+}
+
+newoption {
+ trigger = "with-zstd",
+ description = "Build with ZStandard compression."
+}
+
+newoption {
+ trigger = "clang",
+ description = "Use clang compiler."
+}
+
+newoption {
+ trigger = "asan",
+ description = "Enable AddressSanitizer(gcc or clang only)."
+}
+
+solution "objview"
+ -- location ( "build" )
+ configurations { "Release", "Debug" }
+ platforms {"native", "x64", "x32"}
+
+ project "objview"
+
+ kind "ConsoleApp"
+ language "C++"
+ files { "viewer.cc", "trackball.cc" }
+ includedirs { "./" }
+ includedirs { "../../" }
+
+ flags { "c++11" }
+
+ if _OPTIONS['clang'] then
+ toolset "clang"
+ end
+
+ if _OPTIONS['with-zlib'] then
+ defines { 'ENABLE_ZLIB' }
+ links { 'z' }
+ end
+
+ if _OPTIONS['asan'] then
+ buildoptions { '-fsanitize=address' }
+ linkoptions { '-fsanitize=address' }
+ end
+
+ if _OPTIONS['with-zstd'] then
+ print("with-zstd")
+ defines { 'ENABLE_ZSTD' }
+ -- Set path to zstd installed dir.
+ includedirs { '$$HOME/local/include' }
+ libdirs { '$$HOME/local/lib' }
+ links { 'zstd' }
+ end
+
+ -- Uncomment if you want address sanitizer(gcc/clang only)
+ --buildoptions { "-fsanitize=address" }
+ --linkoptions { "-fsanitize=address" }
+
+ configuration { "linux" }
+ linkoptions { "`pkg-config --libs glfw3`" }
+ links { "GL", "GLU", "m", "GLEW", "X11", "Xrandr", "Xinerama", "Xi", "Xxf86vm", "Xcursor", "dl" }
+ linkoptions { "-pthread" }
+
+ configuration { "windows" }
+ -- Path to GLFW3
+ includedirs { '../../../local/glfw-3.2.bin.WIN64/include' }
+ libdirs { '../../../local/glfw-3.2.bin.WIN64/lib-vc2015' }
+ -- Path to GLEW
+ includedirs { '../../../local/glew-1.13.0/include' }
+ libdirs { '../../../local/glew-1.13.0/lib/Release/x64' }
+
+ links { "glfw3", "glew32", "gdi32", "winmm", "user32", "glu32","opengl32", "kernel32" }
+ defines { "_CRT_SECURE_NO_WARNINGS" }
+ defines { "NOMINMAX" }
+
+ configuration { "macosx" }
+ includedirs { "/usr/local/include" }
+ buildoptions { "-Wno-deprecated-declarations" }
+ libdirs { "/usr/local/lib" }
+ links { "glfw3", "GLEW" }
+ linkoptions { "-framework OpenGL", "-framework Cocoa", "-framework IOKit", "-framework CoreVideo" }
+
+ configuration "Debug"
+ defines { "DEBUG" }
+ flags { "Symbols"}
+
+ configuration "Release"
+ defines { "NDEBUG" }
+ flags { "Optimize"}
+