From fc0f390a874c77fff80a7f302521c1d09bbe3896 Mon Sep 17 00:00:00 2001
From: Ryan Pavlik <ryan.pavlik@collabora.com>
Date: Fri, 15 Oct 2021 16:16:59 -0500
Subject: [PATCH] aux/ogl: Add WGL wrapper to the build.

---
 src/xrt/auxiliary/ogl/CMakeLists.txt |  5 +++++
 src/xrt/auxiliary/ogl/wgl_api.c      | 10 ++++++++++
 src/xrt/auxiliary/ogl/wgl_api.h      | 14 ++++++++++++++
 3 files changed, 29 insertions(+)
 create mode 100644 src/xrt/auxiliary/ogl/wgl_api.c
 create mode 100644 src/xrt/auxiliary/ogl/wgl_api.h

diff --git a/src/xrt/auxiliary/ogl/CMakeLists.txt b/src/xrt/auxiliary/ogl/CMakeLists.txt
index af00bfec2..8b991f574 100644
--- a/src/xrt/auxiliary/ogl/CMakeLists.txt
+++ b/src/xrt/auxiliary/ogl/CMakeLists.txt
@@ -22,3 +22,8 @@ endif()
 if(XRT_HAVE_OPENGLES)
 	target_link_libraries(aux_ogl PUBLIC EGL::EGL)
 endif()
+
+if(WIN32)
+	target_sources(aux_ogl PRIVATE wgl_api.c wgl_api.h)
+	target_link_libraries(aux_ogl PUBLIC OpenGL::GL)
+endif()
diff --git a/src/xrt/auxiliary/ogl/wgl_api.c b/src/xrt/auxiliary/ogl/wgl_api.c
new file mode 100644
index 000000000..a42f6a4ed
--- /dev/null
+++ b/src/xrt/auxiliary/ogl/wgl_api.c
@@ -0,0 +1,10 @@
+// Copyright 2021-2022, Collabora, Ltd.
+// SPDX-License-Identifier: BSL-1.0
+/*!
+ * @file
+ * @brief  WGL API wrapper.
+ * @author Ryan Pavlik <ryan.pavlik@collabora.com>
+ * @ingroup aux_ogl
+ */
+
+#include "../../external/glad/src/wgl.c"
diff --git a/src/xrt/auxiliary/ogl/wgl_api.h b/src/xrt/auxiliary/ogl/wgl_api.h
new file mode 100644
index 000000000..2691efe3e
--- /dev/null
+++ b/src/xrt/auxiliary/ogl/wgl_api.h
@@ -0,0 +1,14 @@
+// Copyright 2021-2022, Collabora, Ltd.
+// SPDX-License-Identifier: BSL-1.0
+/*!
+ * @file
+ * @brief  WGL API wrapper header.
+ * @author Ryan Pavlik <ryan.pavlik@collabora.com>
+ * @ingroup aux_ogl
+ */
+
+#pragma once
+
+#include <xrt/xrt_windows.h>
+
+#include "glad/wgl.h"