Files
HuajisheTools/Huajisheblockade/CMakeLists.txt
2025-12-31 13:22:56 +08:00

47 lines
1.4 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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()