QtScrcpy/ci/win/publish_for_win.bat
2020-02-22 19:49:50 +08:00

99 lines
No EOL
2.5 KiB
Batchfile

@echo off
echo=
echo=
echo ---------------------------------------------------------------
echo check ENV
echo ---------------------------------------------------------------
:: 从环境变量获取必要参数
:: 例如 d:\a\QtScrcpy\Qt\5.12.7
set qt_msvc_path="%ENV_QT_PATH%"
echo ENV_QT_PATH %ENV_QT_PATH%
:: 获取脚本绝对路径
set script_path=%~dp0
:: 进入脚本所在目录,因为这会影响脚本中执行的程序的工作目录
set old_cd=%cd%
cd /d %~dp0
:: 启动参数声明
set cpu_mode=x86
set publish_dir=%2
set errno=1
if /i "%1"=="x86" (
set cpu_mode=x86
)
if /i "%1"=="x64" (
set cpu_mode=x64
)
:: 提示
echo current build mode: %cpu_mode%
echo current publish dir: %publish_dir%
:: 环境变量设置
set adb_path=%script_path%..\..\third_party\adb\win\*.*
set jar_path=%script_path%..\..\third_party\scrcpy-server
set keymap_path=%script_path%..\..\keymap
set config_path=%script_path%..\..\config
if /i %cpu_mode% == x86 (
set publish_path=%script_path%%publish_dir%\
set release_path=%script_path%..\..\output\win\x86\release
set qt_msvc_path=%qt_msvc_path%\msvc2017\bin
) else (
set publish_path=%script_path%%publish_dir%\
set release_path=%script_path%..\..\output\win\x64\release
set qt_msvc_path=%qt_msvc_path%\msvc2017_64\bin
)
set PATH=%qt_msvc_path%;%PATH%
if exist %publish_path% (
rmdir /s/q %publish_path%
)
:: 复制要发布的包
xcopy %release_path% %publish_path% /E /Y
xcopy %adb_path% %publish_path% /Y
xcopy %jar_path% %publish_path% /Y
xcopy %keymap_path% %publish_path%keymap\ /E /Y
xcopy %config_path% %publish_path%config\ /E /Y
:: 添加qt依赖包
windeployqt %publish_path%\QtScrcpy.exe
:: 删除多余qt依赖包
rmdir /s/q %publish_path%\iconengines
rmdir /s/q %publish_path%\translations
:: 截图功能需要qjpeg.dll
del %publish_path%\imageformats\qgif.dll
del %publish_path%\imageformats\qicns.dll
del %publish_path%\imageformats\qico.dll
::del %publish_path%\imageformats\qjpeg.dll
del %publish_path%\imageformats\qsvg.dll
del %publish_path%\imageformats\qtga.dll
del %publish_path%\imageformats\qtiff.dll
del %publish_path%\imageformats\qwbmp.dll
del %publish_path%\imageformats\qwebp.dll
if /i %cpu_mode% == x86 (
del %publish_path%\vc_redist.x86.exe
) else (
del %publish_path%\vc_redist.x64.exe
)
echo=
echo=
echo ---------------------------------------------------------------
echo finish!!!
echo ---------------------------------------------------------------
set errno=0
:return
cd %old_cd%
exit /B %errno%