glfw: fix native import (#583)

Co-authored-by: Ali Chraghi <63465728+alichraghi@users.noreply.github.com>
Co-authored-by: dweiller <4678790+dweiller@users.noreplay.github.com>
Co-authored-by: Stephen Gutekanst <stephen.gutekanst@gmail.com>
This commit is contained in:
Dominic 2022-10-16 19:19:12 +11:00 committed by GitHub
parent 099506b8c1
commit b803782349
2 changed files with 14 additions and 2 deletions

1
.gitignore vendored
View file

@ -16,4 +16,3 @@ zig-out/
/build/ /build/
/build-*/ /build-*/
/docgen_tmp/ /docgen_tmp/
src/c_native.zig

View file

@ -40,7 +40,20 @@ pub const BackendOptions = struct {
/// The chosen backends must match those the library was compiled for. Failure to do so /// The chosen backends must match those the library was compiled for. Failure to do so
/// will cause a link-time error. /// will cause a link-time error.
pub fn Native(comptime options: BackendOptions) type { pub fn Native(comptime options: BackendOptions) type {
const native = @import("c_native.zig").import(options); const native = @cImport({
@cDefine("GLFW_INCLUDE_VULKAN", "1");
@cInclude("GLFW/glfw3.h");
if (options.win32) @cDefine("GLFW_EXPOSE_NATIVE_WIN32", "1");
if (options.wgl) @cDefine("GLFW_EXPOSE_NATIVE_WGL", "1");
if (options.cocoa) @cDefine("GLFW_EXPOSE_NATIVE_COCOA", "1");
if (options.nsgl) @cDefine("GLFW_EXPOSE_NATIVE_NGSL", "1");
if (options.x11) @cDefine("GLFW_EXPOSE_NATIVE_X11", "1");
if (options.glx) @cDefine("GLFW_EXPOSE_NATIVE_GLX", "1");
if (options.wayland) @cDefine("GLFW_EXPOSE_NATIVE_WAYLAND", "1");
if (options.egl) @cDefine("GLFW_EXPOSE_NATIVE_EGL", "1");
if (options.osmesa) @cDefine("GLFW_EXPOSE_NATIVE_OSMESA", "1");
@cInclude("GLFW/glfw3native.h");
});
return struct { return struct {
/// Returns the adapter device name of the specified monitor. /// Returns the adapter device name of the specified monitor.