hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/premake5.lua
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-14 01:24:24 +0200
committerhachem <im@hachem.wtf>2025-08-14 01:24:24 +0200
commit4de723231b38d7c7e272e71b9580443874c278ab (patch)
treec93be963476510b8af30ffb4af7d69d468926fe3 /premake5.lua
parent0d8b874c0048ca088bb9e353a5f7c62e1f8cd0e8 (diff)
feat: implement an ImGui layer
Diffstat (limited to 'premake5.lua')
-rw-r--r--premake5.lua52
1 files changed, 49 insertions, 3 deletions
diff --git a/premake5.lua b/premake5.lua
index 6f31afe..de1ebc2 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -24,9 +24,11 @@ workspace "Donut"
outputdir = "%{cfg.buildcfg}-%{cfg.system}/%{prj.name}"
IncludeDir = {}
+IncludeDir["glm"] = "ext/glm"
IncludeDir["glfw"] = "ext/glfw/include"
IncludeDir["glad"] = "ext/glad/include"
-IncludeDir["glm"] = "ext/glm"
+IncludeDir["imgui"] = "ext/imgui"
+IncludeDir["imgui_backends"] = "ext/imgui/backends"
group "Dependencies"
@@ -203,6 +205,44 @@ project "GLFW"
optimize "speed"
symbols "off"
+project "ImGui"
+ kind "StaticLib"
+ language "C++"
+ staticruntime "on"
+
+ targetdir ("bin/" .. outputdir)
+ objdir ("bin-int/" .. outputdir)
+
+ files
+ {
+ "ext/imgui/imgui.cpp",
+ "ext/imgui/imgui_draw.cpp",
+ "ext/imgui/imgui_tables.cpp",
+ "ext/imgui/imgui_widgets.cpp",
+ "ext/imgui/imgui_demo.cpp"
+ }
+
+ filter "system:windows"
+ systemversion "latest"
+ cppdialect "C++17"
+
+ filter "system:linux"
+ pic "On"
+ systemversion "latest"
+ cppdialect "C++17"
+
+ filter "configurations:Debug"
+ runtime "Debug"
+ symbols "on"
+
+ filter "configurations:Release"
+ runtime "Release"
+ optimize "on"
+
+ filter "configurations:Dist"
+ runtime "Release"
+ optimize "on"
+ symbols "off"
group ""
project "Donut"
@@ -225,22 +265,28 @@ project "Donut"
"ext/glm/glm/**.inl",
"src/**.h",
- "src/**.cpp"
+ "src/**.cpp",
+
+ "ext/imgui/backends/imgui_impl_glfw.cpp",
+ "ext/imgui/backends/imgui_impl_opengl3.cpp"
}
includedirs
{
"src",
+ "%{IncludeDir.glm}",
"%{IncludeDir.glfw}",
"%{IncludeDir.glad}",
- "%{IncludeDir.glm}"
+ "%{IncludeDir.imgui}",
+ "%{IncludeDir.imgui_backends}",
}
links
{
"GLFW",
"GLAD",
+ "ImGui"
}
filter "system:windows"