summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorDominik Kaiser2026-05-24 20:10:04 +0200
committerDominik Kaiser2026-05-24 20:10:04 +0200
commit920157796a2e381d35ba97c15d58ea77eae60a72 (patch)
treecb178fd52633ccc34a320d6d4ef5ad8eb4c9eee8 /CMakeLists.txt
downloadflappy-bird-920157796a2e381d35ba97c15d58ea77eae60a72.tar.gz
flappy-bird-920157796a2e381d35ba97c15d58ea77eae60a72.zip
Project setup
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt35
1 files changed, 35 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..fea8201
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,35 @@
+cmake_minimum_required(VERSION 3.22)
+project(my_raylib_game CXX)
+set(CMAKE_CXX_STANDARD 23)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+set(CMAKE_COMPILE_WARNING_AS_ERROR OFF)
+
+if (MSVC)
+ add_compile_options(/W4)
+else()
+ add_compile_options(-Wall -Wextra -Wpedantic)
+endif()
+
+include(FetchContent)
+set(FETCHCONTENT_QUIET FALSE)
+set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
+set(BUILD_GAMES OFF CACHE BOOL "" FORCE)
+
+FetchContent_Declare(
+ raylib
+ GIT_REPOSITORY "https://github.com/raysan5/raylib.git"
+ GIT_TAG "master"
+ GIT_PROGRESS TRUE
+)
+
+FetchContent_MakeAvailable(raylib)
+
+file(GLOB_RECURSE PROJECT_SOURCES CONFIGURE_DEPENDS "${CMAKE_CURRENT_LIST_DIR}/src/*.cpp")
+set(PROJECT_INCLUDE "${CMAKE_CURRENT_LIST_DIR}/src/")
+
+add_executable(${PROJECT_NAME})
+target_sources(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCES})
+target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_INCLUDE})
+target_link_libraries(${PROJECT_NAME} PRIVATE raylib)