diff options
Diffstat (limited to 'experimental/premake5.lua')
-rw-r--r-- | experimental/premake5.lua | 94 |
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"} + |