From 400e8e4e1ab6a0ab1187ca2defc60ec5038a0437 Mon Sep 17 00:00:00 2001 From: dawidg81 Date: Thu, 12 Feb 2026 12:19:32 +0100 Subject: Initial commit --- CMakeLists.txt | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..9711922 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,43 @@ +cmake_minimum_required(VERSION 3.10) +project(GraphicsDemo) + +# Set C++ standard +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +# Define USE_SDL for compilation +add_definitions(-DUSE_SDL) + +# Find SDL2 +find_package(SDL2 REQUIRED) + +# Include SDL2 headers +include_directories(${SDL2_INCLUDE_DIRS}) + +# Add executable +add_executable(GraphicsDemo + main.cpp + graphics.cpp + graphics.h +) + +# Link SDL2 +target_link_libraries(GraphicsDemo ${SDL2_LIBRARIES}) + +# For Windows, add necessary flags +if(WIN32) + # This ensures we get a console window for debugging + # Remove this line to create a GUI-only application + set_target_properties(GraphicsDemo PROPERTIES + WIN32_EXECUTABLE FALSE + ) +endif() + +# Platform-specific configurations +if(MSVC) + # MSVC specific flags + target_compile_options(GraphicsDemo PRIVATE /W4) +else() + # GCC/Clang flags + target_compile_options(GraphicsDemo PRIVATE -Wall -Wextra) +endif() \ No newline at end of file -- cgit v1.2.3