holesome/CMakeLists.txt

120 lines
4 KiB
CMake
Raw Normal View History

2023-04-26 13:58:10 +02:00
cmake_minimum_required(VERSION 3.12)
project(Holesome)
set(CMAKE_CXX_STANDARD 20)
# Find and include SFML
find_package(SFML 2.5 COMPONENTS graphics audio REQUIRED)
include_directories(${SFML_INCLUDE_DIR})
2023-04-27 23:05:19 +02:00
# Find and include Eigen
find_package(Eigen3 3.3 REQUIRED NO_MODULE)
include_directories(${EIGEN3_INCLUDE_DIR})
# Include Box2D
find_package(box2d REQUIRED)
include_directories(${BOX2D_INCLUDE_DIR})
2023-04-27 23:05:19 +02:00
2023-04-26 13:58:10 +02:00
# Set up your project's source files
set(SOURCES
2023-04-26 22:48:15 +02:00
src/main.cpp
2023-04-27 23:05:19 +02:00
src/game/game_object.cpp
src/game/game_object.h
src/game/game.h
src/game/game.cpp
src/logging/easylogging++.cc
src/logging/easylogging++.h
2023-05-03 01:33:05 +02:00
src/coordinates/coordinate_transformer.cpp
src/coordinates/coordinate_transformer.h
2023-04-27 23:05:19 +02:00
src/coordinates/translated_coordinates.cpp
src/coordinates/translated_coordinates.h
src/coordinates/coordinates.h
src/game/input_handler.cpp
src/game/input_handler.h
src/primitives/circle_object.cpp
src/primitives/circle_object.h
src/game/game_factory.cpp
src/game/game_factory.hpp
src/config.h
src/debug/grid_debug_layer.cpp
src/debug/grid_debug_layer.h
src/game/input/input_mapper.h
src/game/input/input_mapper.cpp
2023-05-08 18:20:55 +02:00
src/game/input/direction.h
src/game/input/direction.cpp
src/game/player/player.cpp
src/game/player/player.hpp
2023-05-23 23:38:37 +02:00
src/game/camera/tracking_view.cpp
src/game/camera/tracking_view.h
src/utilities/smart_list.cpp
src/utilities/smart_list.h
src/utilities/vector_utils.hpp
2023-05-23 23:38:37 +02:00
src/game/camera/ITrackable.h
src/game/input/input_identity.h
src/utilities/magic_enum.hpp
src/game/player/player_spawner.cpp
2023-05-24 14:00:51 +02:00
src/game/player/player_spawner.hpp
2023-06-01 23:25:33 +02:00
src/game/camera/tracking_area.h
src/game/camera/tracking_view_options.hpp
src/game/collectables/collectable.cpp
src/game/collectables/collectable.hpp
src/sprites/texture_manager.cpp
src/sprites/texture_manager.hpp
src/sprites/sprite_sheet.cpp
src/sprites/sprite_sheet.hpp
src/sprites/animated_sprite.cpp
src/sprites/animated_sprite.hpp
src/sprites/single_sprite.cpp
src/sprites/single_sprite.hpp
src/texture_config.h
src/sprites/configs/sprite_config.hpp
src/sprites/configs/sheet_config.hpp
src/sprites/configs/animation_config.hpp
src/sprites/versatile_sprite.cpp
src/sprites/versatile_sprite.hpp
src/sprites/sprite.hpp
src/sprites/sprite_factory.cpp
src/sprites/sprite_factory.hpp
src/input_config.h
src/game/input/button_config.hpp
src/game/input/game_action.hpp
src/game/input/button_config_factory.cpp
src/game/input/button_config_factory.hpp
src/game/input/game_action_config.hpp
src/game/input/gamepad_buttons.hpp
2023-06-11 15:54:05 +02:00
src/game/physics/map/map_simulation.cpp
src/game/physics/map/map_simulation.hpp
src/game/physics/map/map_player.hpp
src/game/physics/map/map_player.cpp
src/game/level/level_config.hpp
src/game/level/level_loader.cpp
src/game/level/level_loader.hpp
2023-06-11 15:54:05 +02:00
src/levels.hpp)
2023-04-26 13:58:10 +02:00
2023-05-03 01:33:05 +02:00
set(PHYSICS_00_SOURCES
src/prototypes/physics_00.cpp)
set(MATH_00_SOURCES
src/prototypes/math_00.cpp)
2023-05-03 01:33:05 +02:00
2023-04-26 13:58:10 +02:00
# Add an executable target
add_executable(Holesome ${SOURCES})
2023-05-03 01:33:05 +02:00
add_executable(Physics_00 ${PHYSICS_00_SOURCES})
2023-04-26 13:58:10 +02:00
add_executable(Math_00 ${MATH_00_SOURCES})
2023-04-27 23:05:19 +02:00
# Link SFML and other libraries to your executable target
2023-04-26 13:58:10 +02:00
target_link_libraries(Holesome sfml-graphics sfml-audio)
2023-04-27 23:05:19 +02:00
target_link_libraries(Holesome Eigen3::Eigen)
target_link_libraries(Holesome box2d::box2d)
2023-05-03 01:33:05 +02:00
target_link_libraries(Physics_00 box2d::box2d)
target_link_libraries(Math_00 Eigen3::Eigen)
# Assets
add_custom_target(copy_assets
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_LIST_DIR}/assets ${CMAKE_CURRENT_BINARY_DIR}/assets
)
add_dependencies(Holesome copy_assets)