From 0592bdd8d3366ebea1cfa9d739461071328e6dbe Mon Sep 17 00:00:00 2001
From: Joseph Walton-Rivers <joseph@walton-rivers.uk>
Date: Sun, 19 Jun 2022 14:59:00 +0100
Subject: [PATCH] cleanup private includes for imgui

---
 fggl/debug/CMakeLists.txt                         | 11 ++---------
 fggl/debug/debug.cpp                              |  4 ++--
 fggl/debug/imgui/CMakeLists.txt                   | 15 +++++++++++++++
 fggl/debug/imgui/imgui_impl_glfw.cpp              |  2 +-
 fggl/debug/imgui/imgui_impl_opengl3.cpp           |  2 +-
 .../debug/imgui/include}/imgui_impl_glfw.h        |  0
 .../debug/imgui/include}/imgui_impl_opengl3.h     |  0
 include/imconfig.h                                |  4 ++--
 8 files changed, 23 insertions(+), 15 deletions(-)
 create mode 100644 fggl/debug/imgui/CMakeLists.txt
 rename {include => fggl/debug/imgui/include}/imgui_impl_glfw.h (100%)
 rename {include => fggl/debug/imgui/include}/imgui_impl_opengl3.h (100%)

diff --git a/fggl/debug/CMakeLists.txt b/fggl/debug/CMakeLists.txt
index 3cb822e..10fb342 100644
--- a/fggl/debug/CMakeLists.txt
+++ b/fggl/debug/CMakeLists.txt
@@ -2,17 +2,10 @@ target_sources(fggl
     PRIVATE
 		debug.cpp
 		debug_draw.cpp
-	
-	# imgui
-	imgui/imgui.cpp
-	imgui/imgui_demo.cpp
-	imgui/imgui_draw.cpp
-	imgui/imgui_tables.cpp
-	imgui/imgui_widgets.cpp
-	imgui/imgui_impl_glfw.cpp
-	imgui/imgui_impl_opengl3.cpp
 )
 
 # spdlog for cleaner logging
 find_package(spdlog)
 target_link_libraries(fggl PRIVATE spdlog::spdlog)
+
+add_subdirectory(imgui)
\ No newline at end of file
diff --git a/fggl/debug/debug.cpp b/fggl/debug/debug.cpp
index 0d0e24c..0a33632 100644
--- a/fggl/debug/debug.cpp
+++ b/fggl/debug/debug.cpp
@@ -15,8 +15,8 @@
 #include <fggl/debug/debug.h>
 
 #include <imgui.h>
-#include <imgui_impl_glfw.h>
-#include <imgui_impl_opengl3.h>
+#include "imgui/include/imgui_impl_glfw.h"
+#include "imgui/include/imgui_impl_opengl3.h"
 
 using fggl::gfx::Window;
 using fggl::debug::DebugUI;
diff --git a/fggl/debug/imgui/CMakeLists.txt b/fggl/debug/imgui/CMakeLists.txt
new file mode 100644
index 0000000..9b8e380
--- /dev/null
+++ b/fggl/debug/imgui/CMakeLists.txt
@@ -0,0 +1,15 @@
+target_sources( fggl
+    PRIVATE
+        imgui.cpp
+        imgui_demo.cpp
+        imgui_draw.cpp
+        imgui_tables.cpp
+        imgui_widgets.cpp
+        imgui_impl_glfw.cpp
+        imgui_impl_opengl3.cpp
+)
+
+target_include_directories( fggl
+    PRIVATE
+        include/
+)
\ No newline at end of file
diff --git a/fggl/debug/imgui/imgui_impl_glfw.cpp b/fggl/debug/imgui/imgui_impl_glfw.cpp
index 8686258..072b66a 100644
--- a/fggl/debug/imgui/imgui_impl_glfw.cpp
+++ b/fggl/debug/imgui/imgui_impl_glfw.cpp
@@ -38,7 +38,7 @@
 //  2016-10-15: Misc: Added a void* user_data parameter to Clipboard function handlers.
 
 #include "imgui.h"
-#include "imgui_impl_glfw.h"
+#include "include/imgui_impl_glfw.h"
 
 // GLFW
 #include <GLFW/glfw3.h>
diff --git a/fggl/debug/imgui/imgui_impl_opengl3.cpp b/fggl/debug/imgui/imgui_impl_opengl3.cpp
index b61d89a..790c208 100644
--- a/fggl/debug/imgui/imgui_impl_opengl3.cpp
+++ b/fggl/debug/imgui/imgui_impl_opengl3.cpp
@@ -83,7 +83,7 @@
 #endif
 
 #include "imgui.h"
-#include "imgui_impl_opengl3.h"
+#include "include/imgui_impl_opengl3.h"
 #include <stdio.h>
 #if defined(_MSC_VER) && _MSC_VER <= 1500 // MSVC 2008 or earlier
 #include <stddef.h>     // intptr_t
diff --git a/include/imgui_impl_glfw.h b/fggl/debug/imgui/include/imgui_impl_glfw.h
similarity index 100%
rename from include/imgui_impl_glfw.h
rename to fggl/debug/imgui/include/imgui_impl_glfw.h
diff --git a/include/imgui_impl_opengl3.h b/fggl/debug/imgui/include/imgui_impl_opengl3.h
similarity index 100%
rename from include/imgui_impl_opengl3.h
rename to fggl/debug/imgui/include/imgui_impl_opengl3.h
diff --git a/include/imconfig.h b/include/imconfig.h
index ce60ddf..9309ff9 100644
--- a/include/imconfig.h
+++ b/include/imconfig.h
@@ -27,7 +27,7 @@
 //#define IMGUI_API __declspec( dllimport )
 
 //---- Don't define obsolete functions/enums/behaviors. Consider enabling from time to time after updating to avoid using soon-to-be obsolete function/names.
-//#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS
+#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS
 
 //---- Disable all of Dear ImGui or don't implement standard windows.
 // It is very strongly recommended to NOT disable the demo windows during development. Please read comments in imgui_demo.cpp.
@@ -110,7 +110,7 @@
 //#define IMGUI_DEBUG_TOOL_ITEM_PICKER_EX
 
 //---- Debug Tools: Enable slower asserts
-//#define IMGUI_DEBUG_PARANOID
+// #define IMGUI_DEBUG_PARANOID
 
 //---- Tip: You can add extra functions within the ImGui:: namespace, here or in your own headers files.
 /*
-- 
GitLab