From 5d485b21a5c707aac23bfdd694f2b0e8c14173ad Mon Sep 17 00:00:00 2001 From: FoxMoss Date: Fri, 4 Oct 2024 17:16:59 -0500 Subject: [PATCH] Add cmake support --- .gitignore | 4 +++- ScuffedMinecraft/CMakeLists.txt | 9 +++++++++ ScuffedMinecraft/src/CMakeLists.txt | 9 +++++++++ ScuffedMinecraft/vendor/imgui/CMakeLists.txt | 11 +++++++++++ 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 ScuffedMinecraft/CMakeLists.txt create mode 100644 ScuffedMinecraft/src/CMakeLists.txt create mode 100644 ScuffedMinecraft/vendor/imgui/CMakeLists.txt diff --git a/.gitignore b/.gitignore index 7b8bfc1..57145c9 100644 --- a/.gitignore +++ b/.gitignore @@ -409,4 +409,6 @@ FodyWeavers.xsd # JetBrains Rider *.sln.iml -imgui.ini \ No newline at end of file +imgui.ini + +build/ diff --git a/ScuffedMinecraft/CMakeLists.txt b/ScuffedMinecraft/CMakeLists.txt new file mode 100644 index 0000000..efba575 --- /dev/null +++ b/ScuffedMinecraft/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.10) +set(CMAKE_CXX_STANDARD 20) + +project(ScuffedMinecraft) + +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +add_subdirectory(vendor/imgui) +add_subdirectory(src) diff --git a/ScuffedMinecraft/src/CMakeLists.txt b/ScuffedMinecraft/src/CMakeLists.txt new file mode 100644 index 0000000..605e595 --- /dev/null +++ b/ScuffedMinecraft/src/CMakeLists.txt @@ -0,0 +1,9 @@ +add_executable(scuffed_mc + Application.cpp Chunk.cpp Shader.cpp + Block.cpp NoiseSettings.cpp SurfaceFeature.cpp + Camera.cpp Planet.cpp WorldGen.cpp ../vendor/glad.c +) + +include_directories(../../Dependencies/include/) + +target_link_libraries(scuffed_mc imgui glfw) diff --git a/ScuffedMinecraft/vendor/imgui/CMakeLists.txt b/ScuffedMinecraft/vendor/imgui/CMakeLists.txt new file mode 100644 index 0000000..90ae41e --- /dev/null +++ b/ScuffedMinecraft/vendor/imgui/CMakeLists.txt @@ -0,0 +1,11 @@ +add_library(imgui + imgui.cpp + imgui_demo.cpp + imgui_draw.cpp + imgui_impl_glfw.cpp + imgui_impl_opengl3.cpp + imgui_tables.cpp + imgui_widgets.cpp +) + +target_include_directories(imgui PUBLIC ./)