From 1794f69326d112013e72aa53c6e210d7154f8454 Mon Sep 17 00:00:00 2001 From: rankun Date: Sat, 22 Feb 2020 02:03:49 +0800 Subject: [PATCH] feat: update windows build script --- .github/workflows/windows.yml | 2 +- ci/win/build_for_win.bat | 43 +++++++++++++++++++---------------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 8008d48..1075e40 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -77,7 +77,7 @@ jobs: shell: cmd env: ENV_VCVARSALL: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat' - ENV_QT_MSVC: 'd:\a\Qt5\5.12.6' + ENV_QT_PATH: 'd:\a\Qt5\5.12.6' run: | call "ci\win\build_for_win.bat" release ${{ matrix.msvc_arch }} # tag 打包 diff --git a/ci/win/build_for_win.bat b/ci/win/build_for_win.bat index 9408a05..ae062a3 100644 --- a/ci/win/build_for_win.bat +++ b/ci/win/build_for_win.bat @@ -1,9 +1,4 @@ @echo off -:: 从环境变量获取必要参数 -:: 例如 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat -set vcvarsall="%ENV_VCVARSALL%" -:: 例如 d:\a\QtScrcpy\Qt\5.12.7 -set qt_msvc_path="%ENV_QT_MSVC%" echo= echo= @@ -11,8 +6,14 @@ echo --------------------------------------------------------------- echo check ENV echo --------------------------------------------------------------- +:: 从环境变量获取必要参数 +:: 例如 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat +set vcvarsall="%ENV_VCVARSALL%" +:: 例如 d:\a\QtScrcpy\Qt\5.12.7 +set qt_msvc_path="%ENV_QT_PATH%" + echo ENV_VCVARSALL %ENV_VCVARSALL% -echo ENV_QT_MSVC %ENV_QT_MSVC% +echo ENV_QT_PATH %ENV_QT_PATH% :: 获取脚本绝对路径 set script_path=%~dp0 @@ -20,12 +21,9 @@ set script_path=%~dp0 set old_cd=%cd% cd /d %~dp0 -:: 临时文件目录 -set temp_path=%script_path%..\temp - :: 启动参数声明 -set debug_mode="false" set cpu_mode=x86 +set build_mode=debug set errno=1 echo= @@ -36,11 +34,16 @@ echo --------------------------------------------------------------- :: 编译参数检查 /i忽略大小写 if /i "%1"=="debug" ( - set debug_mode="true" + set build_mode=debug + goto build_mode_ok ) if /i "%1"=="release" ( - set debug_mode="false" + set build_mode=release + goto build_mode_ok ) +echo error: unkonow build mode -- %1 +goto return +:build_mode_ok if /i "%2"=="x86" ( set cpu_mode=x86 @@ -50,11 +53,7 @@ if /i "%2"=="x64" ( ) :: 提示 -if /i %debug_mode% == "true" ( - echo current build mode: debug %cpu_mode% -) else ( - echo current build mode: release %cpu_mode% -) +echo current build mode: %build_mode% %cpu_mode% :: 环境变量设置 if /i %cpu_mode% == x86 ( @@ -62,7 +61,6 @@ if /i %cpu_mode% == x86 ( ) else ( set qt_msvc_path=%qt_msvc_path%\msvc2017_64\bin ) - set PATH=%qt_msvc_path%;%PATH% :: 注册vc环境 @@ -83,6 +81,13 @@ echo --------------------------------------------------------------- echo begin qmake build echo --------------------------------------------------------------- +:: 删除输出目录 +set output_path=%script_path%..\..\output\win\%cpu_mode%\%build_mode% +if exist %output_path% ( + rmdir /q /s %output_path% +) +:: 删除临时目录 +set temp_path=%script_path%..\temp if exist %temp_path% ( rmdir /q /s %temp_path% ) @@ -106,7 +111,7 @@ if not %errorlevel%==0 ( nmake if not %errorlevel%==0 ( - echo "nmake build failed" + echo "nmake failed" goto return )