diff --git a/build_for_win.bat b/build_for_win.bat new file mode 100644 index 0000000..3c46e50 --- /dev/null +++ b/build_for_win.bat @@ -0,0 +1,91 @@ +@echo off +set VsDevCmd="C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat" +set qt_msvc_path="D:\Qt\Qt5.12.4\5.12.4\msvc2017\bin" + +:: 获取脚本绝对路径 +set script_path=%~dp0 +:: 进入脚本所在目录,因为这会影响脚本中执行的程序的工作目录 +set old_cd=%cd% +cd /d %~dp0 + +:: 启动参数声明 +set debug_mode="false" + +echo= +echo= +echo --------------------------------------------------------------- +echo 检查编译参数[debug/release] +echo --------------------------------------------------------------- + +:: 编译参数检查 /i忽略大小写 +if /i "%1"=="debug" ( + set debug_mode="true" + goto param_ok +) +if /i "%1"=="release" ( + set debug_mode="false" + goto param_ok +) + +echo "waring: unkonow build mode -- %1, default release" +set debug_mode="false" +goto param_ok + +:param_ok + +:: 提示 +if /i %debug_mode% == "true" ( + echo 当前编译版本为debug版本 +) else ( + echo 当前编译版本为release版本 +) + +:: 环境变量设置 +set build_path=%script_path%build +set PATH=%qt_msvc_path%;%PATH% + +call %VsDevCmd% + +if not %errorlevel%==0 ( + echo "VsDevCmd not find" + goto return +) + +echo= +echo= +echo --------------------------------------------------------------- +echo 开始qmake编译 +echo --------------------------------------------------------------- + +if exist %build_path% ( + rmdir /q /s %build_path% +) +md %build_path% +cd %build_path% + +set qmake_params=-spec win32-msvc + +if /i %debug_mode% == "true" ( + set qmake_params=%qmake_params% "CONFIG+=debug" "CONFIG+=qml_debug" +) else ( + set qmake_params=%qmake_params% "CONFIG+=qtquickcompiler" +) + +:: qmake ../all.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug" +qmake ../all.pro %qmake_params% + +nmake + +if not %errorlevel%==0 ( + echo "qmake build failed" + goto return +) + +echo= +echo= +echo --------------------------------------------------------------- +echo 完成! +echo --------------------------------------------------------------- + +:return +cd %old_cd% \ No newline at end of file