chore(build):优化头文件复制脚本并确保目录存在- 使用 TARGET_INCLUDE_DIR 变量统一管理目标路径

- 在复制前创建目标目录以避免路径不存在问题- 更新 xcopy 命令中的路径引用为新变量
-保留排除特定文件(framework.h, pch.h)的逻辑
- 添加 REM 注释增强脚本可读性- 结束时调用 endlocal 清理环境变量设置
This commit is contained in:
tzdwindows 7
2025-11-14 20:38:27 +08:00
parent e937d05968
commit 5f166255f7

View File

@@ -141,21 +141,33 @@
<EnableUAC>false</EnableUAC>
</Link>
<PostBuildEvent>
<Command>REM 目标路径:$(OutDir)include
setlocal enabledelayedexpansion
<Command>setlocal enabledelayedexpansion
REM 定义目标路径变量,使用 VS 宏 $(TargetDir)
REM $(TargetDir) 通常解析为 C:\...\Vivid2DRenderer\x64\Release\
set TARGET_INCLUDE_DIR=$(TargetDir)include
REM 确保目标目录存在
mkdir %TARGET_INCLUDE_DIR%
REM --- 复制操作 ---
REM 1. 复制项目根目录下的 .h 文件
xcopy "$(ProjectDir)*.h" "$(OutDir)include" /Y /I
REM $(ProjectDir) 解析为 C:\...\Vivid2DRenderer\Vivid2DRenderer\
xcopy "$(ProjectDir)*.h" "%TARGET_INCLUDE_DIR%" /Y /I
REM 2. 递归复制 'systems\' 文件夹下的所有 .h 文件
REM /E 确保复制子目录结构
xcopy "$(ProjectDir)systems\*.h" "$(OutDir)include\systems" /E /Y /I
xcopy "$(ProjectDir)systems\*.h" "%TARGET_INCLUDE_DIR%\systems" /E /Y /I
REM --- 排除操作 ---
REM 3. 递归查找目标目录 "$(OutDir)include" 下的排除文件并删除
for /R "$(OutDir)include" %%f in (framework.h pch.h) do (
REM 3. 递归查找目标目录下的排除文件并删除
for /R "%TARGET_INCLUDE_DIR%" %%f in (framework.h pch.h) do (
del /Q "%%f"
)</Command>
)
endlocal</Command>
</PostBuildEvent>
<PostBuildEvent>
<Message>==== Package include ====</Message>