SnakeGame

This commit is contained in:
e2hang
2025-12-30 19:59:45 +08:00
parent fd77d3aca9
commit 3734ffcc35
1319 changed files with 888365 additions and 0 deletions

47
blockade/CMakeLists.txt Normal file
View File

@@ -0,0 +1,47 @@
cmake_minimum_required(VERSION 3.10)
project(SnakeGame)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 强制开启 MSVC 的 UTF-8 编码,防止中文乱码
if(MSVC)
add_compile_options(/utf-8)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
endif()
# 1. 库路径
set(SDL3_DIR "${CMAKE_CURRENT_SOURCE_DIR}/SDL3-3.3.6/cmake/")
set(SDL3_ttf_DIR "${CMAKE_CURRENT_SOURCE_DIR}/SDL3_ttf-3.2.2/cmake/")
# 2. 查找包
find_package(SDL3 REQUIRED CONFIG)
find_package(SDL3_ttf REQUIRED CONFIG)
# 3. 添加源文件 (注意 WIN32 关键字)
add_executable(Snake WIN32 main.cpp Snake.cpp Apple.cpp)
# 4. 链接库
# 注意SDL3 在 MSVC 下通常需要链接 SDL3::SDL3-shared
target_link_libraries(Snake PRIVATE
SDL3::SDL3-shared
SDL3_ttf::SDL3_ttf-shared
)
# 5. 资源拷贝
if(MSVC)
# 拷贝 DLL
add_custom_command(TARGET Snake POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"$<TARGET_FILE:SDL3::SDL3-shared>"
"$<TARGET_FILE:SDL3_ttf::SDL3_ttf-shared>"
"$<TARGET_FILE_DIR:Snake>"
)
# 拷贝资源 (如果字体就在项目根目录,直接拷贝文件更保险)
add_custom_command(TARGET Snake POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_CURRENT_SOURCE_DIR}/assets/fonts/NotoSerifCJKsc-Regular.otf"
"$<TARGET_FILE_DIR:Snake>"
)
endif()