mirror of
https://github.com/barry-ran/QtScrcpy.git
synced 2025-08-25 19:56:58 +00:00
chore: update build script_path
1. update windows build script 2. add mac build script
This commit is contained in:
parent
fffa2360c5
commit
eed62a668c
4 changed files with 220 additions and 123 deletions
2
.github/workflows/windows.yml
vendored
2
.github/workflows/windows.yml
vendored
|
@ -77,7 +77,7 @@ jobs:
|
||||||
shell: cmd
|
shell: cmd
|
||||||
env:
|
env:
|
||||||
ENV_VCVARSALL: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat'
|
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: |
|
run: |
|
||||||
call "ci\win\build_for_win.bat" release ${{ matrix.msvc_arch }}
|
call "ci\win\build_for_win.bat" release ${{ matrix.msvc_arch }}
|
||||||
# tag 打包
|
# tag 打包
|
||||||
|
|
91
ci/mac/build_for_mac.sh
Executable file
91
ci/mac/build_for_mac.sh
Executable file
|
@ -0,0 +1,91 @@
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo ---------------------------------------------------------------
|
||||||
|
echo check ENV
|
||||||
|
echo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
# 从环境变量获取必要参数
|
||||||
|
# 例如 /Users/barry/Qt5.12.5/5.12.5
|
||||||
|
echo ENV_QT_PATH $ENV_QT_PATH
|
||||||
|
|
||||||
|
# 获取绝对路径,保证其他目录执行此脚本依然正确
|
||||||
|
{
|
||||||
|
cd $(dirname "$0")
|
||||||
|
script_path=$(pwd)
|
||||||
|
cd -
|
||||||
|
} &> /dev/null # disable output
|
||||||
|
# 设置当前目录,cd的目录影响接下来执行程序的工作目录
|
||||||
|
old_cd=$(pwd)
|
||||||
|
cd $(dirname "$0")
|
||||||
|
|
||||||
|
# 启动参数声明
|
||||||
|
build_mode=debug
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo ---------------------------------------------------------------
|
||||||
|
echo check build param[debug/release]
|
||||||
|
echo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
# 编译参数检查
|
||||||
|
build_mode=$(echo $1 | tr '[:upper:]' '[:lower:]')
|
||||||
|
if [[ $build_mode != "release" && $build_mode != "debug" ]]; then
|
||||||
|
echo "error: unkonow build mode -- $1"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 提示
|
||||||
|
echo current build mode: $build_mode
|
||||||
|
|
||||||
|
# 环境变量设置
|
||||||
|
export PATH=$PATH:$ENV_QT_PATH/clang_64/bin
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo ---------------------------------------------------------------
|
||||||
|
echo begin qmake build
|
||||||
|
echo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
# 删除输出目录
|
||||||
|
output_path=$script_path../../output/mac/$build_mode
|
||||||
|
if [ -d "$output_path" ]; then
|
||||||
|
rm -rf $output_path
|
||||||
|
fi
|
||||||
|
# 删除临时目录
|
||||||
|
temp_path=$script_path/../temp
|
||||||
|
if [ -d "$temp_path" ]; then
|
||||||
|
rm -rf $temp_path
|
||||||
|
fi
|
||||||
|
mkdir $temp_path
|
||||||
|
cd $temp_path
|
||||||
|
|
||||||
|
qmake_params="-spec macx-clang"
|
||||||
|
if [ $build_mode == "debug" ]; then
|
||||||
|
qmake_params="$qmake_params CONFIG+=debug CONFIG+=x86_64 CONFIG+=qml_debug"
|
||||||
|
else
|
||||||
|
qmake_params="$qmake_params CONFIG+=x86_64 CONFIG+=qtquickcompiler"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# qmake ../../all.pro -spec macx-clang CONFIG+=debug CONFIG+=x86_64 CONFIG+=qml_debug
|
||||||
|
qmake ../../all.pro $qmake_params
|
||||||
|
if [ $? -ne 0 ] ;then
|
||||||
|
echo "qmake failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
make -j8
|
||||||
|
if [ $? -ne 0 ] ;then
|
||||||
|
echo "make failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo ---------------------------------------------------------------
|
||||||
|
echo finish!!!
|
||||||
|
echo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
# 恢复当前目录
|
||||||
|
cd $old_cd
|
||||||
|
exit 0
|
|
@ -1,123 +1,129 @@
|
||||||
@echo off
|
@echo off
|
||||||
:: 从环境变量获取必要参数
|
|
||||||
:: 例如 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
|
echo=
|
||||||
set vcvarsall="%ENV_VCVARSALL%"
|
echo=
|
||||||
:: 例如 d:\a\QtScrcpy\Qt\5.12.7
|
echo ---------------------------------------------------------------
|
||||||
set qt_msvc_path="%ENV_QT_MSVC%"
|
echo check ENV
|
||||||
|
echo ---------------------------------------------------------------
|
||||||
echo=
|
|
||||||
echo=
|
:: 从环境变量获取必要参数
|
||||||
echo ---------------------------------------------------------------
|
:: example: D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat
|
||||||
echo check ENV
|
set vcvarsall="%ENV_VCVARSALL%"
|
||||||
echo ---------------------------------------------------------------
|
:: example: D:\Qt\Qt5.12.5\5.12.5
|
||||||
|
set qt_msvc_path="%ENV_QT_PATH%"
|
||||||
echo ENV_VCVARSALL %ENV_VCVARSALL%
|
|
||||||
echo ENV_QT_MSVC %ENV_QT_MSVC%
|
echo ENV_VCVARSALL %ENV_VCVARSALL%
|
||||||
|
echo ENV_QT_PATH %ENV_QT_PATH%
|
||||||
:: 获取脚本绝对路径
|
|
||||||
set script_path=%~dp0
|
:: 获取脚本绝对路径
|
||||||
:: 进入脚本所在目录,因为这会影响脚本中执行的程序的工作目录
|
set script_path=%~dp0
|
||||||
set old_cd=%cd%
|
:: 进入脚本所在目录,因为这会影响脚本中执行的程序的工作目录
|
||||||
cd /d %~dp0
|
set old_cd=%cd%
|
||||||
|
cd /d %~dp0
|
||||||
:: 临时文件目录
|
|
||||||
set temp_path=%script_path%..\temp
|
:: 启动参数声明
|
||||||
|
set cpu_mode=x86
|
||||||
:: 启动参数声明
|
set build_mode=debug
|
||||||
set debug_mode="false"
|
set errno=1
|
||||||
set cpu_mode=x86
|
|
||||||
set errno=1
|
echo=
|
||||||
|
echo=
|
||||||
echo=
|
echo ---------------------------------------------------------------
|
||||||
echo=
|
echo check build param[debug/release x86/x64]
|
||||||
echo ---------------------------------------------------------------
|
echo ---------------------------------------------------------------
|
||||||
echo check build param[debug/release x86/x64]
|
|
||||||
echo ---------------------------------------------------------------
|
:: 编译参数检查 /i忽略大小写
|
||||||
|
if /i "%1"=="debug" (
|
||||||
:: 编译参数检查 /i忽略大小写
|
set build_mode=debug
|
||||||
if /i "%1"=="debug" (
|
goto build_mode_ok
|
||||||
set debug_mode="true"
|
)
|
||||||
)
|
if /i "%1"=="release" (
|
||||||
if /i "%1"=="release" (
|
set build_mode=release
|
||||||
set debug_mode="false"
|
goto build_mode_ok
|
||||||
)
|
)
|
||||||
|
echo error: unkonow build mode -- %1
|
||||||
if /i "%2"=="x86" (
|
goto return
|
||||||
set cpu_mode=x86
|
:build_mode_ok
|
||||||
)
|
|
||||||
if /i "%2"=="x64" (
|
if /i "%2"=="x86" (
|
||||||
set cpu_mode=x64
|
set cpu_mode=x86
|
||||||
)
|
)
|
||||||
|
if /i "%2"=="x64" (
|
||||||
:: 提示
|
set cpu_mode=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 (
|
||||||
if /i %cpu_mode% == x86 (
|
set qt_msvc_path=%qt_msvc_path%\msvc2017\bin
|
||||||
set qt_msvc_path=%qt_msvc_path%\msvc2017\bin
|
) else (
|
||||||
) else (
|
set qt_msvc_path=%qt_msvc_path%\msvc2017_64\bin
|
||||||
set qt_msvc_path=%qt_msvc_path%\msvc2017_64\bin
|
)
|
||||||
)
|
set PATH=%qt_msvc_path%;%PATH%
|
||||||
|
|
||||||
set PATH=%qt_msvc_path%;%PATH%
|
:: 注册vc环境
|
||||||
|
if /i %cpu_mode% == x86 (
|
||||||
:: 注册vc环境
|
call %vcvarsall% %cpu_mode%
|
||||||
if /i %cpu_mode% == x86 (
|
) else (
|
||||||
call %vcvarsall% %cpu_mode%
|
call %vcvarsall% %cpu_mode%
|
||||||
) else (
|
)
|
||||||
call %vcvarsall% %cpu_mode%
|
|
||||||
)
|
if not %errorlevel%==0 (
|
||||||
|
echo "vcvarsall not find"
|
||||||
if not %errorlevel%==0 (
|
goto return
|
||||||
echo "vcvarsall not find"
|
)
|
||||||
goto return
|
|
||||||
)
|
echo=
|
||||||
|
echo=
|
||||||
echo=
|
echo ---------------------------------------------------------------
|
||||||
echo=
|
echo begin qmake build
|
||||||
echo ---------------------------------------------------------------
|
echo ---------------------------------------------------------------
|
||||||
echo begin qmake build
|
|
||||||
echo ---------------------------------------------------------------
|
:: 删除输出目录
|
||||||
|
set output_path=%script_path%..\..\output\win\%cpu_mode%\%build_mode%
|
||||||
if exist %temp_path% (
|
if exist %output_path% (
|
||||||
rmdir /q /s %temp_path%
|
rmdir /q /s %output_path%
|
||||||
)
|
)
|
||||||
md %temp_path%
|
:: 删除临时目录
|
||||||
cd %temp_path%
|
set temp_path=%script_path%..\temp
|
||||||
|
if exist %temp_path% (
|
||||||
set qmake_params=-spec win32-msvc
|
rmdir /q /s %temp_path%
|
||||||
|
)
|
||||||
if /i %debug_mode% == "true" (
|
md %temp_path%
|
||||||
set qmake_params=%qmake_params% "CONFIG+=debug" "CONFIG+=qml_debug"
|
cd %temp_path%
|
||||||
) else (
|
|
||||||
set qmake_params=%qmake_params% "CONFIG+=qtquickcompiler"
|
set qmake_params=-spec win32-msvc
|
||||||
)
|
if /i %build_mode% == debug (
|
||||||
|
set qmake_params=%qmake_params% "CONFIG+=debug" "CONFIG+=qml_debug"
|
||||||
:: qmake ../../all.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug"
|
) else (
|
||||||
qmake ../../all.pro %qmake_params%
|
set qmake_params=%qmake_params% "CONFIG+=qtquickcompiler"
|
||||||
if not %errorlevel%==0 (
|
)
|
||||||
echo "qmake failed"
|
|
||||||
goto return
|
:: qmake ../../all.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug"
|
||||||
)
|
qmake ../../all.pro %qmake_params%
|
||||||
|
if not %errorlevel%==0 (
|
||||||
nmake
|
echo "qmake failed"
|
||||||
if not %errorlevel%==0 (
|
goto return
|
||||||
echo "nmake build failed"
|
)
|
||||||
goto return
|
|
||||||
)
|
:: nmake
|
||||||
|
:: jom是qt的多进程nmake工具
|
||||||
echo=
|
..\win\jom -j8
|
||||||
echo=
|
if not %errorlevel%==0 (
|
||||||
echo ---------------------------------------------------------------
|
echo "nmake failed"
|
||||||
echo finish!!!
|
goto return
|
||||||
echo ---------------------------------------------------------------
|
)
|
||||||
|
|
||||||
set errno=0
|
echo=
|
||||||
|
echo=
|
||||||
:return
|
echo ---------------------------------------------------------------
|
||||||
cd %old_cd%
|
echo finish!!!
|
||||||
|
echo ---------------------------------------------------------------
|
||||||
|
|
||||||
|
set errno=0
|
||||||
|
|
||||||
|
:return
|
||||||
|
cd %old_cd%
|
||||||
exit /B %errno%
|
exit /B %errno%
|
BIN
ci/win/jom.exe
Executable file
BIN
ci/win/jom.exe
Executable file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue