cmake_minimum_required(VERSION 3.22) project(kge LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(SDL2 REQUIRED) find_package(OpenGL REQUIRED) find_package(Freetype REQUIRED) add_compile_options("-Wall" "-Wextra" "-Werror") add_definitions(-DIMGUI_ENABLE_FREETYPE) add_library(imgui STATIC # Main Imgui files ext/imgui/imgui.cpp ext/imgui/imgui.h ext/imgui/imgui_draw.cpp ext/imgui/imgui_tables.cpp ext/imgui/imgui_widgets.cpp ext/imgui/imgui_demo.cpp ext/imgui/backends/imgui_impl_sdl2.cpp ext/imgui/backends/imgui_impl_sdl2.h ext/imgui/backends/imgui_impl_opengl3.cpp ext/imgui/backends/imgui_impl_opengl3.h ext/imgui/misc/freetype/imgui_freetype.cpp ext/imgui/misc/freetype/imgui_freetype.h) add_library(imgui::imgui ALIAS imgui) target_link_libraries(imgui PUBLIC OpenGL::GL $ $,SDL2::SDL2,SDL2::SDL2-static> Freetype::Freetype) target_include_directories(imgui PUBLIC ext/imgui/ ext/imgui/backends/ ext/imgui/misc/freetype ${FREETYPE_INCLUDE_DIRS}) include_directories(ext/ ${SDL2_INCLUDE_DIRS}) add_executable(kge kge.cc ) target_link_libraries(kge imgui)