sdl3_3d_oop_basic_game git · main
git clone https://git.christianimmanuel.de/sdl-graphics/sdl3_3d_oop_basic_game.gitwget https://git.christianimmanuel.de/sdl-graphics/sdl3_3d_oop_basic_game/archive/sdl3_3d_oop_basic_game.tar.gzCMakeLists.txt raw
cmake_minimum_required(VERSION 3.20)
project(idk_game LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
find_package(SDL3 REQUIRED)
file(GLOB_RECURSE SOURCES "src/*.cpp")
add_executable(idk_game ${SOURCES})
target_include_directories(idk_game PRIVATE src)
if(NOT EXISTS "${CMAKE_SOURCE_DIR}/compile_commands.json")
execute_process(
COMMAND ${CMAKE_COMMAND} -E create_symlink
"${CMAKE_BINARY_DIR}/compile_commands.json"
"${CMAKE_SOURCE_DIR}/compile_commands.json"
)
endif()
target_compile_options(idk_game PRIVATE
-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion
-Wnull-dereference -Wdouble-promotion
)
target_link_libraries(idk_game PRIVATE SDL3::SDL3)
target_compile_options(idk_game PRIVATE
$<$<CONFIG:Debug>:-fsanitize=address>
$<$<CONFIG:Debug>:-fno-omit-frame-pointer>
$<$<CONFIG:Debug>:-g>
)
target_link_options(idk_game PRIVATE
$<$<CONFIG:Debug>:-fsanitize=address>
)