This commit is contained in:
2026-02-08 16:20:50 +08:00
parent 0ae47e5d6a
commit 8b88904ef7
72 changed files with 5963 additions and 2038 deletions

View File

@@ -4,6 +4,16 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/DNF)
set(CMAKE_CXX_STANDARD 17)
if(MINGW) # 你的环境是 MinGWStrawberry Perl 自带)
# 保留 -g2 精简调试信息(避免体积过大),同时移除可能的优化选项
string(REPLACE "-O2" "-O0" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
string(REPLACE "-O2" "-O0" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
add_compile_options(-g2) # 明确保留调试信息
add_compile_options(-Wa,-mbig-obj) # 解决 MinGW 大文件限制(之前的问题)
add_compile_options(-fno-omit-frame-pointer) # 帮助调试器定位栈帧
endif()
# 添加子目录引用squirrel项目
add_subdirectory(Library/squirrel)
# 添加zlib子项目
@@ -32,6 +42,8 @@ set(SDL2MIXER_DEPS_SHARED OFF CACHE BOOL "Compile vendored deps as static libs"
set(SDL2MIXER_BUILD_SHARED OFF CACHE BOOL "Disable SDL2_mixer shared library" FORCE)
set(SDL2MIXER_BUILD_STATIC ON CACHE BOOL "Enable SDL2_mixer static library" FORCE)
set(SDL2MIXER_SAMPLES OFF CACHE BOOL "Disable SDL2_mixer examples (playmus/playwave)" FORCE)
set(SDL2MIXER_VORBIS "VORBISFILE" CACHE STRING "Enable OGG via vorbisfile" FORCE)
set(SDL2MIXER_VORBIS_VORBISFILE_SHARED OFF CACHE BOOL "Link vorbisfile statically" FORCE)
add_subdirectory(Library/SDL_mixer)
set(SDL2NET_INSTALL OFF CACHE BOOL "Disable SDL2_net installation" FORCE)
@@ -74,7 +86,7 @@ file(GLOB_RECURSE SOURCES
)
add_executable(${PROJECT_NAME} ${SOURCES})
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O1 -g" CACHE STRING "" FORCE)
if (MINGW)
target_link_options(${PROJECT_NAME} PRIVATE
@@ -112,8 +124,8 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
SDL2_ttf
SDL2_net
zlibstatic # zlib库
squirrel_static # squirrel库根据实际目标名调整
zlibstatic
squirrel_static
sqstdlib_static
mingwex