cs381/as9/CMakeLists.txt

44 lines
1.2 KiB
CMake

cmake_minimum_required(VERSION 3.25)
project(as9-island-dominion VERSION 0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_subdirectory(../raylib-cpp raylib)
add_library(asio INTERFACE)
target_include_directories(asio INTERFACE lib/asio/include)
target_compile_definitions(asio INTERFACE ASIO_STANDALONE ASIO_NO_DEPRECATED)
add_executable(as9-island-dominion
src/main.cpp
src/ecs/component_counter.cpp
src/game/CardDeck.cpp
src/game/GameRules.cpp
src/net/Protocol.cpp
src/net/NetworkManager.cpp
src/systems/CombatSystem.cpp
src/systems/GameLogicSystem.cpp
src/systems/InputSystem.cpp
src/systems/NetworkSystem.cpp
src/systems/RenderSystem.cpp
src/systems/UISystem.cpp
)
target_link_libraries(as9-island-dominion PUBLIC raylib raylib_cpp asio)
if(WIN32)
target_link_libraries(as9-island-dominion PRIVATE ws2_32 mswsock)
elseif(UNIX)
target_link_libraries(as9-island-dominion PRIVATE pthread)
endif()
target_include_directories(as9-island-dominion PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/src
${RAYLIB_CPP_ROOT}/include
)