Compare commits

..

4 Commits

Author SHA1 Message Date
5638772ec2 migrate 2026-06-08 16:43:18 +02:00
Rune
d0789d2ef7 add win32 deps 2026-03-29 18:19:44 +02:00
Rune
d057669dd0 Merge branch 'main' of https://git.unicon-gmbh.de/BeefBindings/Glfw 2026-03-29 17:58:42 +02:00
Rune
80517e0092 fix vulkan handles 2026-03-29 17:58:30 +02:00
9 changed files with 72 additions and 135 deletions

View File

@@ -5,82 +5,66 @@ Name = "Glfw"
TargetType = "BeefLib" TargetType = "BeefLib"
StartupObject = "Glfw.Program" StartupObject = "Glfw.Program"
[Dependencies]
corlib = "*"
"CxxBuildTool.git" = {Git = "https://git.unicon-gmbh.de/Rune/CxxBuildTool.git"}
[Configs.Debug.Win32] [Configs.Debug.Win32]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.lib"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WIN32\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Debug.Win64] [Configs.Debug.Win64]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.lib"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WIN32\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Debug.Linux32] [Configs.Debug.Linux32]
LibPaths = ["$(BuildDir)/glfw3.a"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WAYLAND -D_GLFW_X11\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Debug.Linux64] [Configs.Debug.Linux64]
LibPaths = ["$(BuildDir)/glfw3.a"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WAYLAND -D_GLFW_X11\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Debug.macOS] [Configs.Debug.macOS]
LibPaths = ["$(BuildDir)/glfw3.a"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_COCOA\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Release.Win32] [Configs.Release.Win32]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.lib"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WIN32\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Release.Win64] [Configs.Release.Win64]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.lib"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WIN32\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Release.Linux32] [Configs.Release.Linux32]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WAYLAND -D_GLFW_X11\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Release.Linux64] [Configs.Release.Linux64]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WAYLAND -D_GLFW_X11\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Release.macOS] [Configs.Release.macOS]
LibPaths = ["$(BuildDir)/glfw3.a"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_COCOA\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Paranoid.Win32] [Configs.Paranoid.Win32]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.lib"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WIN32\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Paranoid.Win64] [Configs.Paranoid.Win64]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.lib"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WIN32\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Paranoid.Linux32] [Configs.Paranoid.Linux32]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WAYLAND -D_GLFW_X11\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Paranoid.Linux64] [Configs.Paranoid.Linux64]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WAYLAND -D_GLFW_X11\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Paranoid.macOS] [Configs.Paranoid.macOS]
LibPaths = ["$(BuildDir)/glfw3.a"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_COCOA\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Test.Win32] [Configs.Test.Win32]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.lib"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WIN32\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Test.Win64] [Configs.Test.Win64]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.lib"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WIN32\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Test.Linux32] [Configs.Test.Linux32]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WAYLAND -D_GLFW_X11\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Test.Linux64] [Configs.Test.Linux64]
LibPaths = ["$(BuildDir)/glfw3.lib"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_WAYLAND -D_GLFW_X11\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]
[Configs.Test.macOS] [Configs.Test.macOS]
LibPaths = ["$(BuildDir)/glfw3.a"] LibPaths = ["$(BuildDir)/glfw3.a"]
PreBuildCmds = ["ReadFile(\"$(ProjectDir)/CxxBuilderPath.txt\", \"CxxBuilderPath\")", "Execute(\"$(Var CxxBuilderPath) *.c -- \\\"cflags=-D_GLFW_COCOA\\\" \\\"src=$(ProjectDir)/glfw/src\\\" \\\"builddir=$(BuildDir)\\\" target=$(TargetTriple) config=$(Configuration) output=glfw3\")"]

View File

@@ -1,6 +1,9 @@
FileVersion = 1 FileVersion = 1
Projects = {"Glfw" = {Path = "."}}
ExtraPlatforms = ["Linux32", "Linux64", "macOS"] ExtraPlatforms = ["Linux32", "Linux64", "macOS"]
[Workspace] [Workspace]
StartupProject = "Glfw" StartupProject = "Glfw"
[Projects]
Glfw = {Path = "."}
"CxxBuildTool.git" = {Git = "https://git.unicon-gmbh.de/Rune/CxxBuildTool.git"}

6
BeefSpace_Lock.toml Normal file
View File

@@ -0,0 +1,6 @@
FileVersion = 1
[Locks."CxxBuildTool.git".Git]
URL = "https://git.unicon-gmbh.de/Rune/CxxBuildTool.git"
Tag = ""
Hash = "b64a6221b8cb235a5e040c8597365dabeef849ca"

View File

@@ -1,67 +1,10 @@
FileVersion = 1 FileVersion = 1
Dependencies = {corlib = "*", "Clang-C.git" = "*", "Cpp2Beef.git" = {Git = "https://git.unicon-gmbh.de/BeefBindings/Cpp2Beef.git"}}
[Project] [Project]
Name = "Glfw.Setup" Name = "Glfw.Setup"
StartupObject = "Glfw.Setup.Program" StartupObject = "Glfw.Setup.Program"
DefaultNamespace = "Glfw.Setup"
[Configs.Debug.Win32] [Dependencies]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"] corlib = "*"
"Clang-C.git" = "*"
[Configs.Debug.Win64] "Cpp2Beef.git" = {Git = "https://git.unicon-gmbh.de/Rune/Cpp2Beef.git"}
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Debug.Linux32]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Debug.Linux64]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Debug.macOS]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Release.Win32]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Release.Win64]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Release.Linux32]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Release.Linux64]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Release.macOS]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Paranoid.Win32]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Paranoid.Win64]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Paranoid.Linux32]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Paranoid.Linux64]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Paranoid.macOS]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Test.Win32]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Test.Win64]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Test.Linux32]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Test.Linux64]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]
[Configs.Test.macOS]
PreBuildCmds = ["cp $(ProjectDir Cpp2Beef.git)/CxxBuilder/dist/CxxBuilderPath.txt ../CxxBuilderPath.txt"]

View File

@@ -1,6 +1,9 @@
FileVersion = 1 FileVersion = 1
Projects = {"Glfw.Setup" = {Path = "."}, "Cpp2Beef.git" = {Git = "https://git.unicon-gmbh.de/BeefBindings/Cpp2Beef.git"}}
ExtraPlatforms = ["Linux32", "Linux64", "macOS"] ExtraPlatforms = ["Linux32", "Linux64", "macOS"]
[Workspace] [Workspace]
StartupProject = "Glfw.Setup" StartupProject = "Glfw.Setup"
[Projects]
"Glfw.Setup" = {Path = "."}
"Cpp2Beef.git" = {Git = "https://git.unicon-gmbh.de/Rune/Cpp2Beef.git"}

View File

@@ -1,9 +1,7 @@
#define VK_VERSION_1_0 #define VK_VERSION_1_0
typedef void PFN_vkGetInstanceProcAddr; typedef void* PFN_vkGetInstanceProcAddr;
typedef void VkInstance; typedef void* VkInstance;
typedef void VkInstance; typedef void* VkPhysicalDevice;
typedef void VkPhysicalDevice; typedef int VkResult;
typedef void VkResult; typedef struct VkAllocationCallbacks VkAllocationCallbacks;
typedef void VkInstance; typedef unsigned long long VkSurfaceKHR;
typedef void VkAllocationCallbacks;
typedef void VkSurfaceKHR;

View File

@@ -21,23 +21,6 @@ class GlfwGenerator : Cpp2BeefGenerator, this(Span<char8*> args)
namespace Glfw; namespace Glfw;
static class Glfw
{
public struct Bool : c_int
{
public static operator Self(bool b) => b ? True : False;
public static operator bool(Self b) => b != False;
}
// Vulkan
public typealias PFN_vkGetInstanceProcAddr = void*;
public struct VkInstance : int;
public struct VkPhysicalDevice : int;
public typealias VkResult = c_int;
public struct VkAllocationCallbacks;
public struct VkSurfaceKHR : uint64;
}
""") ~ delete _; """) ~ delete _;

View File

@@ -5,23 +5,6 @@ using System.Interop;
namespace Glfw; namespace Glfw;
static class Glfw
{
public struct Bool : c_int
{
public static operator Self(bool b) => b ? True : False;
public static operator bool(Self b) => b != False;
}
// Vulkan
public typealias PFN_vkGetInstanceProcAddr = void*;
public struct VkInstance : int;
public struct VkPhysicalDevice : int;
public typealias VkResult = c_int;
public struct VkAllocationCallbacks;
public struct VkSurfaceKHR : int;
}
static static
{ {
/************************************************************************* /*************************************************************************
@@ -2431,7 +2414,7 @@ public function void Joystickfun(c_int jid, c_int event);
* *
* @ingroup init * @ingroup init
*/ */
[LinkName("glfwInitVulkanLoader")] public static extern void InitVulkanLoader(c_int loader); [LinkName("glfwInitVulkanLoader")] public static extern void InitVulkanLoader(PFN_vkGetInstanceProcAddr loader);
/*VK_VERSION_1_0*/ /*VK_VERSION_1_0*/
@@ -6496,7 +6479,7 @@ public function void Joystickfun(c_int jid, c_int event);
* *
* @ingroup vulkan * @ingroup vulkan
*/ */
[LinkName("glfwGetInstanceProcAddress")] public static extern Vkproc GetInstanceProcAddress(c_int instance, c_char* procname); [LinkName("glfwGetInstanceProcAddress")] public static extern Vkproc GetInstanceProcAddress(VkInstance instance, c_char* procname);
/*! @brief Returns whether the specified queue family can present images. /*! @brief Returns whether the specified queue family can present images.
* *
@@ -6533,7 +6516,7 @@ public function void Joystickfun(c_int jid, c_int event);
* *
* @ingroup vulkan * @ingroup vulkan
*/ */
[LinkName("glfwGetPhysicalDevicePresentationSupport")] public static extern Bool GetPhysicalDevicePresentationSupport(c_int instance, c_int device, uint32 queuefamily); [LinkName("glfwGetPhysicalDevicePresentationSupport")] public static extern Bool GetPhysicalDevicePresentationSupport(VkInstance instance, VkPhysicalDevice device, uint32 queuefamily);
/*! @brief Creates a Vulkan surface for the specified window. /*! @brief Creates a Vulkan surface for the specified window.
* *
@@ -6603,7 +6586,7 @@ public function void Joystickfun(c_int jid, c_int event);
* *
* @ingroup vulkan * @ingroup vulkan
*/ */
[LinkName("glfwCreateWindowSurface")] public static extern VkResult CreateWindowSurface(c_int instance, Window* window, VkAllocationCallbacks* allocator, out VkSurfaceKHR surface); [LinkName("glfwCreateWindowSurface")] public static extern VkResult CreateWindowSurface(VkInstance instance, Window* window, VkAllocationCallbacks* allocator, out VkSurfaceKHR surface);
} }
static static

34
src/Library.bf Normal file
View File

@@ -0,0 +1,34 @@
using System;
using System.Interop;
using CxxBuildTool;
namespace Glfw;
static class Glfw
{
public struct Bool : c_int
{
public static operator Self(bool b) => b ? True : False;
public static operator bool(Self b) => b != False;
}
// Vulkan
public typealias PFN_vkGetInstanceProcAddr = void*;
public struct VkInstance : int;
public struct VkPhysicalDevice : int;
public typealias VkResult = c_int;
public struct VkAllocationCallbacks;
public struct VkSurfaceKHR : int;
[OnCompile(.TypeDone)]
private static void Build()
{
if (!Compiler.IsBuilding) return;
CxxBuildTool.CMake(
Compiler.ProjectDir + "/glfw",
Compiler.BuildDir + "/" + Compiler.ProjectName,
"-DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_DOCS=OFF -DGLFW_INSTALL=OFF"
);
}
}