chore: split client and server executables

- Added `uno-client` and `uno-server` executables.
- Updated `CMakeLists.txt` to reflect new structure.
- Removed duplicate requirement for `ftxui`.
This commit is contained in:
Kieran Kihn
2025-12-01 23:34:22 +08:00
parent e3821e9f6d
commit a650b61610

View File

@@ -7,8 +7,6 @@ find_package(ftxui CONFIG REQUIRED)
find_package(nlohmann_json REQUIRED) find_package(nlohmann_json REQUIRED)
find_package(asio REQUIRED) find_package(asio REQUIRED)
find_package(ftxui REQUIRED)
# 移除 /utf-8 选项 # 移除 /utf-8 选项
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT CMAKE_CXX_COMPILER_FRONTEND_VARIANT MATCHES "MSVC") if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT CMAKE_CXX_COMPILER_FRONTEND_VARIANT MATCHES "MSVC")
foreach (component screen dom component) foreach (component screen dom component)
@@ -30,6 +28,8 @@ add_library(uno-game-lib
src/network/MessageSerializer.cpp src/network/MessageSerializer.cpp
src/network/NetworkServer.cpp src/network/NetworkServer.cpp
src/network/NetworkClient.cpp src/network/NetworkClient.cpp
src/client/UnoClient.cpp
src/server/UnoServer.cpp
) )
target_link_libraries(uno-game-lib target_link_libraries(uno-game-lib
PRIVATE ftxui::screen PRIVATE ftxui::screen
@@ -43,8 +43,12 @@ target_link_libraries(uno-game-lib
PRIVATE asio::asio PRIVATE asio::asio
) )
add_executable(uno-game src/main.cpp) add_executable(uno-client src/client/main.cpp)
target_link_libraries(uno-game target_link_libraries(uno-client
PRIVATE uno-game-lib)
add_executable(uno-server src/server/main.cpp)
target_link_libraries(uno-server
PRIVATE uno-game-lib) PRIVATE uno-game-lib)
add_subdirectory(test) add_subdirectory(test)