diff --git a/fggl/gfx/ogl/CMakeLists.txt b/fggl/gfx/ogl/CMakeLists.txt
index 02180aec41dcd3b4f5781d17217abe7c9802775a..50c0a68f53114f52a6f38db21cfe1635c3234c90 100644
--- a/fggl/gfx/ogl/CMakeLists.txt
+++ b/fggl/gfx/ogl/CMakeLists.txt
@@ -2,7 +2,6 @@
 # Sources
 target_sources(fggl
         PRIVATE
-        glad.c
         backend.cpp
         shader.cpp
         renderer.cpp
diff --git a/vendor/glad/CMakeLists.txt b/vendor/glad/CMakeLists.txt
index d6638846fc1f73567c5aaf04cb57b6a6cff4ae2c..198df27ee41cbcfc0b9e523d5b80e62a1f5a2b63 100644
--- a/vendor/glad/CMakeLists.txt
+++ b/vendor/glad/CMakeLists.txt
@@ -1,11 +1,18 @@
-add_library(fggl-glad INTERFACE)
+add_library(fggl-glad)
 
 target_include_directories( fggl-glad
-    INTERFACE
+    PUBLIC
         $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/public>
         $<INSTALL_INTERFACE:include/fggl>
 )
 
+target_compile_options( fggl-glad PRIVATE -Wall -Wno-pedantic -Wodr -fno-strict-aliasing -fno-strict-overflow )
+target_sources( fggl-glad
+    PRIVATE
+        src/glad.c
+)
+
+
 # FIXME should be a cleaner way to do this...
 install(
     FILES
diff --git a/fggl/gfx/ogl/glad.c b/vendor/glad/src/glad.c
similarity index 99%
rename from fggl/gfx/ogl/glad.c
rename to vendor/glad/src/glad.c
index 5c315dcdc0ac90eeb37bce84d4ff71724f51e8ee..db08480d8bbf38a9434d12ff9c9bc17f8b7d5224 100644
--- a/fggl/gfx/ogl/glad.c
+++ b/vendor/glad/src/glad.c
@@ -23,7 +23,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <glad/glad.h>
+#include "glad/glad.h"
 
 void _pre_call_callback_default_gl(const char *name, void *funcptr, int len_args, ...) {
 	(void) name;