2012-04-03 23:30:07 -04:00
|
|
|
--
|
2014-02-11 01:07:04 -05:00
|
|
|
-- Copyright 2010-2014 Branimir Karadzic. All rights reserved.
|
2012-04-03 23:30:07 -04:00
|
|
|
-- License: http://www.opensource.org/licenses/BSD-2-Clause
|
|
|
|
--
|
|
|
|
|
2014-05-04 18:43:14 -04:00
|
|
|
newoption {
|
|
|
|
trigger = "with-tools",
|
|
|
|
description = "Enable building tools.",
|
|
|
|
}
|
|
|
|
|
2014-08-22 22:29:54 -04:00
|
|
|
newoption {
|
|
|
|
trigger = "with-shared-lib",
|
|
|
|
description = "Enable building shared library.",
|
|
|
|
}
|
|
|
|
|
2014-10-12 00:55:24 -04:00
|
|
|
newoption {
|
|
|
|
trigger = "with-sdl",
|
|
|
|
description = "Enable SDL entry.",
|
|
|
|
}
|
|
|
|
|
2014-10-20 00:29:27 -04:00
|
|
|
newoption {
|
|
|
|
trigger = "with-ovr",
|
|
|
|
description = "Enable OculusVR integration.",
|
|
|
|
}
|
|
|
|
|
2012-04-03 23:30:07 -04:00
|
|
|
solution "bgfx"
|
|
|
|
configurations {
|
|
|
|
"Debug",
|
|
|
|
"Release",
|
|
|
|
}
|
|
|
|
|
|
|
|
platforms {
|
|
|
|
"x32",
|
|
|
|
"x64",
|
2014-05-31 03:18:45 -04:00
|
|
|
-- "Xbox360",
|
2013-04-13 03:26:41 -04:00
|
|
|
"Native", -- for targets where bitness is not specified
|
2012-04-03 23:30:07 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
language "C++"
|
2014-09-15 23:50:35 -04:00
|
|
|
startproject "example-00-helloworld"
|
2012-04-03 23:30:07 -04:00
|
|
|
|
2012-06-01 22:55:56 -04:00
|
|
|
BGFX_DIR = (path.getabsolute("..") .. "/")
|
|
|
|
local BGFX_BUILD_DIR = (BGFX_DIR .. ".build/")
|
|
|
|
local BGFX_THIRD_PARTY_DIR = (BGFX_DIR .. "3rdparty/")
|
2012-12-08 18:24:51 -05:00
|
|
|
BX_DIR = (BGFX_DIR .. "../bx/")
|
2012-09-16 20:36:08 -04:00
|
|
|
|
2013-02-27 00:27:31 -05:00
|
|
|
defines {
|
|
|
|
"BX_CONFIG_ENABLE_MSVC_LEVEL4_WARNINGS=1"
|
|
|
|
}
|
|
|
|
|
2014-09-11 00:04:42 -04:00
|
|
|
dofile (BX_DIR .. "scripts/toolchain.lua")
|
2012-12-09 01:24:16 -05:00
|
|
|
toolchain(BGFX_BUILD_DIR, BGFX_THIRD_PARTY_DIR)
|
2012-04-03 23:30:07 -04:00
|
|
|
|
2012-06-02 00:56:20 -04:00
|
|
|
function copyLib()
|
|
|
|
end
|
|
|
|
|
2014-10-14 11:52:58 -04:00
|
|
|
if _OPTIONS["with-sdl"] then
|
|
|
|
if os.is("windows") then
|
|
|
|
if not os.getenv("SDL2_DIR") then
|
|
|
|
print("Set SDL2_DIR enviroment variable.")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2014-09-11 02:01:22 -04:00
|
|
|
function exampleProject(_name)
|
2013-01-26 19:30:02 -05:00
|
|
|
|
|
|
|
project ("example-" .. _name)
|
2014-09-11 02:01:22 -04:00
|
|
|
uuid (os.uuid("example-" .. _name))
|
2013-01-26 19:30:02 -05:00
|
|
|
kind "WindowedApp"
|
|
|
|
|
|
|
|
configuration {}
|
|
|
|
|
|
|
|
debugdir (BGFX_DIR .. "examples/runtime/")
|
|
|
|
|
|
|
|
includedirs {
|
|
|
|
BX_DIR .. "include",
|
|
|
|
BGFX_DIR .. "include",
|
2013-04-25 00:01:11 -04:00
|
|
|
BGFX_DIR .. "3rdparty",
|
2013-05-24 01:07:54 -04:00
|
|
|
BGFX_DIR .. "examples/common",
|
2013-01-26 19:30:02 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
files {
|
|
|
|
BGFX_DIR .. "examples/" .. _name .. "/**.cpp",
|
|
|
|
BGFX_DIR .. "examples/" .. _name .. "/**.h",
|
|
|
|
}
|
|
|
|
|
|
|
|
links {
|
|
|
|
"bgfx",
|
2013-06-05 00:43:43 -04:00
|
|
|
"example-common",
|
2013-01-26 19:30:02 -05:00
|
|
|
}
|
|
|
|
|
2014-10-12 00:55:24 -04:00
|
|
|
if _OPTIONS["with-sdl"] then
|
|
|
|
defines { "ENTRY_CONFIG_USE_SDL=1" }
|
|
|
|
links { "SDL2" }
|
2014-10-12 12:58:06 -04:00
|
|
|
|
|
|
|
configuration { "x32", "windows" }
|
|
|
|
libdirs { "$(SDL2_DIR)/lib/x86" }
|
|
|
|
|
|
|
|
configuration { "x64", "windows" }
|
|
|
|
libdirs { "$(SDL2_DIR)/lib/x64" }
|
|
|
|
|
|
|
|
configuration {}
|
2014-10-12 00:55:24 -04:00
|
|
|
end
|
|
|
|
|
2014-10-20 00:29:27 -04:00
|
|
|
if _OPTIONS["with-ovr"] then
|
|
|
|
links {
|
|
|
|
"winmm",
|
|
|
|
"ws2_32",
|
|
|
|
}
|
|
|
|
|
|
|
|
configuration { "x32" }
|
|
|
|
libdirs { "$(OVR_DIR)/LibOVR/Lib/Win32/" .. _ACTION }
|
|
|
|
|
2014-10-29 18:50:41 -04:00
|
|
|
configuration { "x64" }
|
2014-10-20 00:29:27 -04:00
|
|
|
libdirs { "$(OVR_DIR)/LibOVR/Lib/x64/" .. _ACTION }
|
|
|
|
|
|
|
|
configuration { "x32", "Debug" }
|
|
|
|
links { "libovrd" }
|
|
|
|
|
|
|
|
configuration { "x32", "Release" }
|
|
|
|
links { "libovr" }
|
|
|
|
|
|
|
|
configuration { "x64", "Debug" }
|
|
|
|
links { "libovr64d" }
|
|
|
|
|
|
|
|
configuration { "x64", "Release" }
|
|
|
|
links { "libovr64" }
|
|
|
|
|
|
|
|
configuration {}
|
|
|
|
end
|
|
|
|
|
2013-10-11 01:57:42 -04:00
|
|
|
configuration { "vs*" }
|
2013-10-11 23:38:47 -04:00
|
|
|
linkoptions {
|
|
|
|
"/ignore:4199", -- LNK4199: /DELAYLOAD:*.dll ignored; no imports found from *.dll
|
|
|
|
}
|
2013-10-11 01:57:42 -04:00
|
|
|
links { -- this is needed only for testing with GLES2/3 on Windows with VS2008
|
|
|
|
"DelayImp",
|
|
|
|
}
|
|
|
|
|
2014-09-09 15:24:17 -04:00
|
|
|
configuration { "vs201*" }
|
2013-10-11 01:57:42 -04:00
|
|
|
linkoptions { -- this is needed only for testing with GLES2/3 on Windows with VS201x
|
|
|
|
"/DELAYLOAD:\"libEGL.dll\"",
|
|
|
|
"/DELAYLOAD:\"libGLESv2.dll\"",
|
|
|
|
}
|
|
|
|
|
2014-10-18 18:44:45 -04:00
|
|
|
configuration { "vs20* or mingw*" }
|
2014-10-16 02:21:46 -04:00
|
|
|
links {
|
|
|
|
"gdi32",
|
|
|
|
"psapi",
|
|
|
|
}
|
|
|
|
|
2014-10-18 18:44:45 -04:00
|
|
|
configuration { "mingw*" }
|
|
|
|
links {
|
|
|
|
"dxguid",
|
|
|
|
}
|
|
|
|
|
2014-10-18 02:17:29 -04:00
|
|
|
configuration { "mingw-clang" }
|
|
|
|
kind "ConsoleApp"
|
|
|
|
|
2013-04-17 02:12:03 -04:00
|
|
|
configuration { "android*" }
|
2013-12-02 22:46:25 -05:00
|
|
|
kind "ConsoleApp"
|
2013-04-17 02:12:03 -04:00
|
|
|
targetextension ".so"
|
2013-12-02 22:46:25 -05:00
|
|
|
linkoptions {
|
|
|
|
"-shared",
|
|
|
|
}
|
2013-04-17 02:12:03 -04:00
|
|
|
links {
|
|
|
|
"EGL",
|
|
|
|
"GLESv2",
|
|
|
|
}
|
|
|
|
|
2014-10-20 00:29:27 -04:00
|
|
|
configuration { "nacl*" }
|
2013-05-18 18:28:35 -04:00
|
|
|
kind "ConsoleApp"
|
2013-01-26 19:30:02 -05:00
|
|
|
targetextension ".nexe"
|
|
|
|
links {
|
|
|
|
"ppapi",
|
|
|
|
"ppapi_gles2",
|
|
|
|
"pthread",
|
|
|
|
}
|
|
|
|
|
2013-05-18 18:28:35 -04:00
|
|
|
configuration { "pnacl" }
|
|
|
|
kind "ConsoleApp"
|
|
|
|
targetextension ".pexe"
|
|
|
|
links {
|
|
|
|
"ppapi",
|
|
|
|
"ppapi_gles2",
|
|
|
|
"pthread",
|
|
|
|
}
|
|
|
|
|
2014-03-16 15:38:43 -04:00
|
|
|
configuration { "asmjs" }
|
|
|
|
kind "ConsoleApp"
|
|
|
|
targetextension ".bc"
|
|
|
|
|
2013-11-20 00:38:06 -05:00
|
|
|
configuration { "linux-*" }
|
2013-01-26 19:30:02 -05:00
|
|
|
links {
|
2013-04-29 22:35:33 -04:00
|
|
|
"X11",
|
2013-01-26 19:30:02 -05:00
|
|
|
"GL",
|
|
|
|
"pthread",
|
|
|
|
}
|
|
|
|
|
2014-08-24 20:41:41 -04:00
|
|
|
configuration { "rpi" }
|
|
|
|
links {
|
|
|
|
"X11",
|
|
|
|
"GLESv2",
|
|
|
|
"EGL",
|
|
|
|
"bcm_host",
|
2014-08-24 23:39:35 -04:00
|
|
|
"vcos",
|
|
|
|
"vchiq_arm",
|
2014-08-24 20:41:41 -04:00
|
|
|
"pthread",
|
|
|
|
}
|
|
|
|
|
2013-04-13 02:43:46 -04:00
|
|
|
configuration { "osx" }
|
2013-01-26 19:30:02 -05:00
|
|
|
files {
|
2013-10-20 00:22:52 -04:00
|
|
|
BGFX_DIR .. "examples/common/**.mm",
|
2013-01-26 19:30:02 -05:00
|
|
|
}
|
|
|
|
links {
|
|
|
|
"Cocoa.framework",
|
|
|
|
"OpenGL.framework",
|
|
|
|
}
|
2013-04-13 04:47:30 -04:00
|
|
|
|
2014-08-23 07:24:39 -04:00
|
|
|
configuration { "xcode4" }
|
|
|
|
platforms {
|
|
|
|
"Universal"
|
|
|
|
}
|
|
|
|
files {
|
|
|
|
BGFX_DIR .. "examples/common/**.mm",
|
|
|
|
}
|
|
|
|
links {
|
|
|
|
"Cocoa.framework",
|
|
|
|
"Foundation.framework",
|
|
|
|
"OpenGL.framework",
|
|
|
|
}
|
|
|
|
|
2013-07-21 17:44:53 -04:00
|
|
|
configuration { "ios*" }
|
|
|
|
kind "ConsoleApp"
|
2013-07-14 16:14:48 -04:00
|
|
|
files {
|
|
|
|
BGFX_DIR .. "examples/common/**.mm",
|
|
|
|
}
|
2013-07-13 01:27:46 -04:00
|
|
|
linkoptions {
|
|
|
|
"-framework CoreFoundation",
|
|
|
|
"-framework Foundation",
|
|
|
|
"-framework OpenGLES",
|
2013-07-21 17:44:53 -04:00
|
|
|
"-framework UIKit",
|
|
|
|
"-framework QuartzCore",
|
2013-07-13 01:27:46 -04:00
|
|
|
}
|
|
|
|
|
2013-04-13 04:47:30 -04:00
|
|
|
configuration { "qnx*" }
|
|
|
|
targetextension ""
|
|
|
|
links {
|
|
|
|
"EGL",
|
|
|
|
"GLESv2",
|
|
|
|
}
|
2013-04-21 02:13:44 -04:00
|
|
|
|
|
|
|
configuration {}
|
|
|
|
|
|
|
|
strip()
|
2013-01-26 19:30:02 -05:00
|
|
|
end
|
|
|
|
|
2012-06-01 22:55:56 -04:00
|
|
|
dofile "bgfx.lua"
|
2013-06-05 00:43:43 -04:00
|
|
|
dofile "example-common.lua"
|
2014-09-11 02:01:22 -04:00
|
|
|
bgfxProject("", "StaticLib", {})
|
|
|
|
|
|
|
|
exampleProject("00-helloworld")
|
|
|
|
exampleProject("01-cubes")
|
|
|
|
exampleProject("02-metaballs")
|
|
|
|
exampleProject("03-raymarch")
|
|
|
|
exampleProject("04-mesh")
|
|
|
|
exampleProject("05-instancing")
|
|
|
|
exampleProject("06-bump")
|
|
|
|
exampleProject("07-callback")
|
|
|
|
exampleProject("08-update")
|
|
|
|
exampleProject("09-hdr")
|
|
|
|
exampleProject("10-font")
|
|
|
|
exampleProject("11-fontsdf")
|
|
|
|
exampleProject("12-lod")
|
|
|
|
exampleProject("13-stencil")
|
|
|
|
exampleProject("14-shadowvolumes")
|
|
|
|
exampleProject("15-shadowmaps-simple")
|
|
|
|
exampleProject("16-shadowmaps")
|
|
|
|
exampleProject("17-drawstress")
|
|
|
|
exampleProject("18-ibl")
|
|
|
|
exampleProject("19-oit")
|
|
|
|
exampleProject("20-nanovg")
|
|
|
|
exampleProject("21-deferred")
|
2014-09-25 00:05:48 -04:00
|
|
|
exampleProject("22-windows")
|
2013-12-10 22:37:51 -05:00
|
|
|
|
2014-08-22 22:29:54 -04:00
|
|
|
if _OPTIONS["with-shared-lib"] then
|
2014-09-11 02:01:22 -04:00
|
|
|
bgfxProject("-shared-lib", "SharedLib", {})
|
2014-08-22 22:29:54 -04:00
|
|
|
end
|
|
|
|
|
2014-05-04 18:43:14 -04:00
|
|
|
if _OPTIONS["with-tools"] then
|
|
|
|
dofile "makedisttex.lua"
|
|
|
|
dofile "shaderc.lua"
|
|
|
|
dofile "texturec.lua"
|
|
|
|
dofile "geometryc.lua"
|
|
|
|
end
|