e488a07f1b
* Support both X11 and Wayland in the same build. - Works for both Vulkan and OpenGL. - Remove --with-wayland from genie options. - Vulkan loads all three extensions for surface creation instead of only one. - Add width and height parameter to GlContext::createSwapChain(), which is needed for EGL to create a SwapChain with the given window size. - Dirty-fix the example-22-windows to recreate the FrameBuffer by first destroying and then recreating to make sure the window is released of its swapchain. - Fix dbgText glitch in example-22-windows. - Remove old X11-related dependencies for GLFW3. * Formatting.
177 lines
3.3 KiB
Lua
177 lines
3.3 KiB
Lua
--
|
|
-- Copyright 2010-2024 Branimir Karadzic. All rights reserved.
|
|
-- License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
|
|
--
|
|
|
|
project "texturev"
|
|
uuid (os.uuid("texturev") )
|
|
kind "ConsoleApp"
|
|
|
|
configuration {}
|
|
|
|
includedirs {
|
|
path.join(BIMG_DIR, "include"),
|
|
path.join(BGFX_DIR, "include"),
|
|
path.join(BGFX_DIR, "3rdparty"),
|
|
path.join(BGFX_DIR, "examples/common"),
|
|
path.join(MODULE_DIR, "include"),
|
|
path.join(MODULE_DIR, "3rdparty"),
|
|
}
|
|
|
|
files {
|
|
path.join(MODULE_DIR, "tools/texturev/**"),
|
|
}
|
|
|
|
links {
|
|
"example-common",
|
|
"bimg_decode",
|
|
"bimg",
|
|
"bgfx",
|
|
}
|
|
|
|
using_bx()
|
|
|
|
if _OPTIONS["with-sdl"] then
|
|
defines { "ENTRY_CONFIG_USE_SDL=1" }
|
|
links { "SDL2" }
|
|
|
|
configuration { "x32", "windows" }
|
|
libdirs { "$(SDL2_DIR)/lib/x86" }
|
|
|
|
configuration { "x64", "windows" }
|
|
libdirs { "$(SDL2_DIR)/lib/x64" }
|
|
|
|
configuration {}
|
|
end
|
|
|
|
if _OPTIONS["with-glfw"] then
|
|
defines { "ENTRY_CONFIG_USE_GLFW=1" }
|
|
links { "glfw3" }
|
|
|
|
configuration { "osx*" }
|
|
linkoptions {
|
|
"-framework CoreVideo",
|
|
}
|
|
|
|
configuration {}
|
|
end
|
|
|
|
if _OPTIONS["with-libheif"] then
|
|
links {
|
|
"heif",
|
|
}
|
|
|
|
configuration {}
|
|
end
|
|
|
|
configuration { "vs*" }
|
|
linkoptions {
|
|
"/ignore:4199", -- LNK4199: /DELAYLOAD:*.dll ignored; no imports found from *.dll
|
|
}
|
|
links { -- this is needed only for testing with GLES2/3 on Windows with VS2008
|
|
"DelayImp",
|
|
}
|
|
|
|
configuration { "vs201*" }
|
|
linkoptions { -- this is needed only for testing with GLES2/3 on Windows with VS201x
|
|
"/DELAYLOAD:\"libEGL.dll\"",
|
|
"/DELAYLOAD:\"libGLESv2.dll\"",
|
|
}
|
|
|
|
configuration { "mingw-*" }
|
|
targetextension ".exe"
|
|
|
|
configuration { "vs20* or mingw*" }
|
|
links {
|
|
"comdlg32",
|
|
"gdi32",
|
|
"psapi",
|
|
}
|
|
|
|
configuration { "winstore*" }
|
|
removelinks {
|
|
"DelayImp",
|
|
"gdi32",
|
|
"psapi"
|
|
}
|
|
links {
|
|
"d3d11",
|
|
"d3d12",
|
|
"dxgi"
|
|
}
|
|
linkoptions {
|
|
"/ignore:4264" -- LNK4264: archiving object file compiled with /ZW into a static library; note that when authoring Windows Runtime types it is not recommended to link with a static library that contains Windows Runtime metadata
|
|
}
|
|
-- WinRT targets need their own output directories are build files stomp over each other
|
|
targetdir (path.join(BGFX_BUILD_DIR, "arm_" .. _ACTION, "bin", _name))
|
|
objdir (path.join(BGFX_BUILD_DIR, "arm_" .. _ACTION, "obj", _name))
|
|
|
|
configuration { "mingw-clang" }
|
|
kind "ConsoleApp"
|
|
|
|
configuration { "android*" }
|
|
kind "ConsoleApp"
|
|
targetextension ".so"
|
|
linkoptions {
|
|
"-shared",
|
|
}
|
|
links {
|
|
"EGL",
|
|
"GLESv2",
|
|
}
|
|
|
|
configuration { "wasm*" }
|
|
kind "ConsoleApp"
|
|
|
|
configuration { "linux-* or freebsd" }
|
|
links {
|
|
"X11",
|
|
"GL",
|
|
"pthread",
|
|
}
|
|
|
|
configuration { "rpi" }
|
|
links {
|
|
"X11",
|
|
"GLESv2",
|
|
"EGL",
|
|
"bcm_host",
|
|
"vcos",
|
|
"vchiq_arm",
|
|
"pthread",
|
|
}
|
|
|
|
configuration { "osx*" }
|
|
linkoptions {
|
|
"-framework Cocoa",
|
|
"-framework IOKit",
|
|
"-framework Metal",
|
|
"-framework OpenGL",
|
|
"-framework QuartzCore",
|
|
}
|
|
|
|
configuration { "ios*" }
|
|
kind "ConsoleApp"
|
|
linkoptions {
|
|
"-framework CoreFoundation",
|
|
"-framework Foundation",
|
|
"-framework IOKit",
|
|
"-framework OpenGLES",
|
|
"-framework QuartzCore",
|
|
"-framework UIKit",
|
|
}
|
|
|
|
configuration { "xcode*", "ios" }
|
|
kind "WindowedApp"
|
|
|
|
configuration { "qnx*" }
|
|
targetextension ""
|
|
links {
|
|
"EGL",
|
|
"GLESv2",
|
|
}
|
|
|
|
configuration {}
|
|
|
|
strip()
|