cs381/as6/CMakeLists.txt

54 lines
1.5 KiB
CMake

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
)