From 6ee6b1482ba4f583803dad068df38a93d9d77817 Mon Sep 17 00:00:00 2001 From: odweta Date: Tue, 6 Oct 2026 12:05:26 +0200 Subject: [PATCH] start using cmake --- CMakeLists.txt | 12 ++++++++++++ src/engine/CMakeLists.txt | 19 +++++++++++++++++++ src/examples/CMakeLists.txt | 8 ++++++++ 3 files changed, 39 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 src/engine/CMakeLists.txt create mode 100644 src/examples/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..d7fb178 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.20) + +project(dangerzone LANGUAGES C) + +set(CMAKE_C_STANDARD 11) +set(CMAKE_C_STANDARD_REQUIRED ON) + +find_package(PkgConfig REQUIRED) +pkg_check_modules(SDL3 REQUIRED IMPORTED_TARGET sdl3) + +add_subdirectory(src/engine) +add_subdirectory(src/examples) diff --git a/src/engine/CMakeLists.txt b/src/engine/CMakeLists.txt new file mode 100644 index 0000000..6d0ce2b --- /dev/null +++ b/src/engine/CMakeLists.txt @@ -0,0 +1,19 @@ +file(GLOB_RECURSE ENGINE_SOURCES CONFIGURE_DEPENDS + "${CMAKE_CURRENT_SOURCE_DIR}/*.c" +) + +add_library(dangerzone_engine STATIC + ${ENGINE_SOURCES} +) + +target_include_directories(dangerzone_engine + PUBLIC + ${PROJECT_SOURCE_DIR}/include + PRIVATE + ${PROJECT_SOURCE_DIR}/src +) + +target_link_libraries(dangerzone_engine + PUBLIC + PkgConfig::SDL3 +) diff --git a/src/examples/CMakeLists.txt b/src/examples/CMakeLists.txt new file mode 100644 index 0000000..00e3515 --- /dev/null +++ b/src/examples/CMakeLists.txt @@ -0,0 +1,8 @@ +#add_executable(snake snake.c) +#target_link_libraries(snake PRIVATE dangerzone_engine) + +#add_executable(game_2048 2048.c) +#target_link_libraries(game_2048 PRIVATE dangerzone_engine) + +add_executable(game_window window.c) +target_link_libraries(game_window PRIVATE dangerzone_engine)