cmake_minimum_required(VERSION 3.31) project(Dicewars_Siedler) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(OpenGL REQUIRED) add_subdirectory(lib/glfw) add_library(glad STATIC lib/glad/src/glad.c ) target_include_directories(glad PUBLIC lib/glad/include ) add_executable(Dicewars_Siedler src/main.cpp src/engine/core/Window.cpp src/engine/core/Window.h src/engine/platform/glfw/GLFWWindow.cpp src/engine/platform/glfw/GLFWWindow.h src/engine/core/Application.cpp src/engine/core/Application.h src/game/DicewarsApp.cpp src/game/DicewarsApp.h src/engine/renderer/model/RawModel.cpp src/engine/renderer/model/RawModel.h src/engine/renderer/loader/Loader.cpp src/engine/renderer/loader/Loader.h src/engine/renderer/Renderer.cpp src/engine/renderer/Renderer.h src/engine/layer/Layer.cpp src/engine/layer/Layer.h src/game/GameLayer.cpp src/game/GameLayer.h src/engine/renderer/shaders/ShaderProgram.cpp src/engine/renderer/shaders/ShaderProgram.h src/engine/renderer/shaders/StaticShader.cpp src/engine/renderer/shaders/StaticShader.h src/engine/renderer/loader/Texture2D.h src/engine/renderer/loader/TextureLoader.cpp src/engine/renderer/loader/TextureLoader.h src/engine/renderer/textures/ModelTexture.cpp src/engine/renderer/textures/ModelTexture.h src/engine/renderer/model/TexturedModel.cpp src/engine/renderer/model/TexturedModel.h src/engine/toolbox/MathUtils.h src/engine/layer/entities/Entity.cpp src/engine/layer/entities/Entity.h src/engine/layer/entities/Camera.cpp src/engine/layer/entities/Camera.h src/engine/platform/glfw/InputManager.cpp src/engine/platform/glfw/InputManager.h src/engine/renderer/loader/OBJLoader.cpp src/engine/renderer/loader/OBJLoader.h src/engine/layer/entities/Light.cpp src/engine/layer/entities/Light.h src/engine/platform/glfw/MousePicker.cpp src/engine/platform/glfw/MousePicker.h src/game/hexWorld/HexTile.h src/game/hexWorld/Map.cpp src/game/hexWorld/Map.h src/game/hexWorld/MapGenerator.cpp src/game/hexWorld/MapGenerator.h src/game/hexWorld/HexModelFactory.cpp src/game/hexWorld/HexModelFactory.h src/engine/renderer/MasterRenderer.cpp src/engine/renderer/MasterRenderer.h src/engine/renderer/TerrainRenderer.cpp src/engine/renderer/TerrainRenderer.h src/engine/renderer/shaders/TerrainShader.cpp src/engine/renderer/shaders/TerrainShader.h src/engine/renderer/model/AssetManager.cpp src/engine/renderer/model/AssetManager.h src/game/hexWorld/tileGenerator/HexTileGeneratorStrategy.cpp src/game/hexWorld/tileGenerator/HexTileGeneratorStrategy.h src/game/hexWorld/tileGenerator/ForestTileGenerator.cpp src/game/hexWorld/tileGenerator/ForestTileGenerator.h src/engine/toolbox/Random.cpp src/engine/toolbox/Random.h ) target_include_directories(Dicewars_Siedler PRIVATE lib/glfw/include lib/glm lib/stb_image lib/tinyobjloader ) target_link_libraries(Dicewars_Siedler PRIVATE glfw glad OpenGL::GL )