44 lines
1.2 KiB
CMake
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
|
|
)
|