summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/scripts/shaderc.lua
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/scripts/shaderc.lua')
-rw-r--r--3rdparty/bgfx/scripts/shaderc.lua117
1 files changed, 107 insertions, 10 deletions
diff --git a/3rdparty/bgfx/scripts/shaderc.lua b/3rdparty/bgfx/scripts/shaderc.lua
index 3942b6917de..4975e31f288 100644
--- a/3rdparty/bgfx/scripts/shaderc.lua
+++ b/3rdparty/bgfx/scripts/shaderc.lua
@@ -1,10 +1,94 @@
--
--- Copyright 2010-2016 Branimir Karadzic. All rights reserved.
+-- Copyright 2010-2017 Branimir Karadzic. All rights reserved.
-- License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
--
+project "glslang"
+ kind "StaticLib"
+
+ local GLSLANG = path.join(BGFX_DIR, "3rdparty/glslang")
+
+ configuration { "vs2012" }
+ defines {
+ "atoll=_atoi64",
+ "strtoll=_strtoi64",
+ "strtoull=_strtoui64",
+ }
+
+ configuration { "vs*" }
+ buildoptions {
+ "/wd4005", -- warning C4005: '_CRT_SECURE_NO_WARNINGS': macro redefinition
+ }
+
+ configuration { "not vs*" }
+ buildoptions {
+ "-Wno-ignored-qualifiers",
+ "-Wno-inconsistent-missing-override",
+ "-Wno-missing-field-initializers",
+ "-Wno-reorder",
+ "-Wno-shadow",
+ "-Wno-sign-compare",
+ "-Wno-undef",
+ "-Wno-unknown-pragmas",
+ "-Wno-unused-parameter",
+ "-Wno-unused-variable",
+ }
+
+ configuration { "osx" }
+ buildoptions {
+ "-Wno-c++11-extensions",
+ "-Wno-unused-const-variable",
+ }
+
+ configuration { "linux-*" }
+ buildoptions {
+ "-Wno-unused-but-set-variable",
+ }
+
+ configuration {}
+
+ flags {
+ "Optimize",
+ }
+
+ includedirs {
+ GLSLANG,
+ }
+
+ files {
+ path.join(GLSLANG, "glslang/**.cpp"),
+ path.join(GLSLANG, "glslang/**.h"),
+
+ path.join(GLSLANG, "hlsl/**.cpp"),
+ path.join(GLSLANG, "hlsl/**.h"),
+
+ path.join(GLSLANG, "SPIRV/**.cpp"),
+ path.join(GLSLANG, "SPIRV/**.h"),
+
+ path.join(GLSLANG, "OGLCompilersDLL/**.cpp"),
+ path.join(GLSLANG, "OGLCompilersDLL/**.h"),
+ }
+
+ removefiles {
+ path.join(GLSLANG, "glslang/OSDependent/Unix/main.cpp"),
+ path.join(GLSLANG, "glslang/OSDependent/Windows/main.cpp"),
+ }
+
+ configuration { "windows" }
+ removefiles {
+ path.join(GLSLANG, "glslang/OSDependent/Unix/**.cpp"),
+ path.join(GLSLANG, "glslang/OSDependent/Unix/**.h"),
+ }
+
+ configuration { "not windows" }
+ removefiles {
+ path.join(GLSLANG, "glslang/OSDependent/Windows/**.cpp"),
+ path.join(GLSLANG, "glslang/OSDependent/Windows/**.h"),
+ }
+
+ configuration {}
+
project "shaderc"
- uuid "f3cd2e90-52a4-11e1-b86c-0800200c9a66"
kind "ConsoleApp"
local GLSL_OPTIMIZER = path.join(BGFX_DIR, "3rdparty/glsl-optimizer")
@@ -14,6 +98,10 @@ project "shaderc"
path.join(GLSL_OPTIMIZER, "src"),
}
+ flags {
+ "Optimize",
+ }
+
removeflags {
-- GCC 4.9 -O2 + -fno-strict-aliasing don't work together...
"OptimizeSpeed",
@@ -74,6 +162,11 @@ project "shaderc"
path.join(BGFX_DIR, "3rdparty/dxsdk/include"),
FCPP_DIR,
+ path.join(BGFX_DIR, "3rdparty/glslang/glslang/Public"),
+ path.join(BGFX_DIR, "3rdparty/glslang/glslang/Include"),
+ path.join(BGFX_DIR, "3rdparty/glslang"),
+-- path.join(BGFX_DIR, "3rdparty/spirv-tools/include"),
+
path.join(GLSL_OPTIMIZER, "include"),
path.join(GLSL_OPTIMIZER, "src/mesa"),
path.join(GLSL_OPTIMIZER, "src/mapi"),
@@ -84,6 +177,7 @@ project "shaderc"
path.join(BGFX_DIR, "tools/shaderc/**.cpp"),
path.join(BGFX_DIR, "tools/shaderc/**.h"),
path.join(BGFX_DIR, "src/vertexdecl.**"),
+ path.join(BGFX_DIR, "src/shader_spirv.**"),
path.join(FCPP_DIR, "**.h"),
path.join(FCPP_DIR, "cpp1.c"),
@@ -114,6 +208,10 @@ project "shaderc"
path.join(GLSL_OPTIMIZER, "src/glsl/builtin_stubs.cpp"),
}
+ links {
+ "glslang",
+ }
+
if filesexist(BGFX_DIR, path.join(BGFX_DIR, "../bgfx-ext"), {
path.join(BGFX_DIR, "scripts/shaderc.lua"), }) then
@@ -125,15 +223,14 @@ project "shaderc"
}
end
- if filesexist(BGFX_DIR, path.join(BGFX_DIR, "../bgfx-ext"), {
- path.join(BGFX_DIR, "tools/shaderc/shaderc_spirv.cpp"), }) then
-
- removefiles {
- path.join(BGFX_DIR, "tools/shaderc/shaderc_spirv.cpp"),
- }
- end
-
dofile(path.join(BGFX_DIR, "../bgfx-ext/scripts/shaderc.lua") )
end
+ configuration { "osx or linux*" }
+ links {
+ "pthread",
+ }
+
+ configuration {}
+
strip()