cmake_minimum_required(VERSION 3.25) project(as6-gravity-surfing VERSION 0.1 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # adding this option to make clangd work set(CMAKE_EXPORT_COMPILE_COMMANDS ON) add_subdirectory(../raylib-cpp raylib) include(../assets/includeable.cmake) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/assets/audio) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../assets/audio/ping.wav ${CMAKE_CURRENT_BINARY_DIR}/assets/audio/ping.wav COPYONLY) add_executable(as6-gravity-surfing main.cpp raygui.cpp Draw.cpp Entities.cpp Systems.cpp components/TransformComponent.cpp components/PhysicsComponent.cpp components/GravityWellComponent.cpp components/ScrollComponent.cpp components/NullZoneComponent.cpp components/ColliderComponent.cpp components/ScrollableComponent.cpp components/SpawnComponent.cpp components/TrailComponent.cpp components/ProjectionComponent.cpp components/LifetimeComponent.cpp components/CollectibleComponent.cpp components/HazardComponent.cpp components/GravityReceiverComponent.cpp components/ProbeStateComponent.cpp components/StatsComponent.cpp components/RenderComponent.cpp scene/StartMenuScene.cpp scene/GameplayScene.cpp scene/DeathScene.cpp ) target_link_libraries(as6-gravity-surfing PUBLIC raylib raylib_cpp buffered-raylib raygui) target_include_directories(as6-gravity-surfing PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${RAYLIB_CPP_ROOT}/include )