Windows CI (#920)
* Update build.yml * forgot to change the other target * make * typo * make * deall * msvc * Fix Windows and Android CI (#928) * fix CI * cache qt * Update zlib --------- Co-authored-by: lambdcalculus <64238778+lambdcalculus@users.noreply.github.com>
This commit is contained in:
parent
1899f4e1ba
commit
ff577255d3
100
.github/workflows/build.yml
vendored
100
.github/workflows/build.yml
vendored
@ -11,7 +11,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
version:
|
||||||
- 5.15.1
|
- 5.15.2
|
||||||
platform:
|
platform:
|
||||||
- gcc_64
|
- gcc_64
|
||||||
- android
|
- android
|
||||||
@ -22,14 +22,30 @@ jobs:
|
|||||||
include:
|
include:
|
||||||
- platform: gcc_64
|
- platform: gcc_64
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
|
target: desktop
|
||||||
|
make: make
|
||||||
|
|
||||||
- platform: android
|
- platform: android
|
||||||
os: ubuntu-20.04
|
os: ubuntu-20.04
|
||||||
|
target: android
|
||||||
|
make: make
|
||||||
|
|
||||||
- platform: msvc2019
|
- platform: msvc2019
|
||||||
os: windows-2019
|
os: windows-2019
|
||||||
|
target: desktop
|
||||||
|
make: nmake
|
||||||
|
|
||||||
- platform: mingw81_32
|
- platform: mingw81_32
|
||||||
os: windows-latest
|
os: windows-latest
|
||||||
|
target: desktop
|
||||||
|
arch: win32_mingw81
|
||||||
|
tools: 'tools_mingw,qt.tools.win32_mingw810'
|
||||||
|
make: mingw32-make
|
||||||
|
|
||||||
- platform: clang_64
|
- platform: clang_64
|
||||||
os: macos-latest
|
os: macos-latest
|
||||||
|
target: desktop
|
||||||
|
make: make
|
||||||
|
|
||||||
runs-on: ${{matrix.os}}
|
runs-on: ${{matrix.os}}
|
||||||
steps:
|
steps:
|
||||||
@ -40,13 +56,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: '3.10'
|
python-version: '3.10'
|
||||||
|
|
||||||
- name: actions/cache qt
|
|
||||||
uses: actions/cache@master
|
|
||||||
id: cache
|
|
||||||
with:
|
|
||||||
path: qt/${{matrix.version}}/${{matrix.platform}}
|
|
||||||
key: qt-${{matrix.version}}-${{matrix.platform}}
|
|
||||||
|
|
||||||
- name: Add msbuild to PATH
|
- name: Add msbuild to PATH
|
||||||
if: matrix.platform == 'msvc2019'
|
if: matrix.platform == 'msvc2019'
|
||||||
uses: microsoft/setup-msbuild@main
|
uses: microsoft/setup-msbuild@main
|
||||||
@ -54,19 +63,35 @@ jobs:
|
|||||||
- name: Downgrade Android NDK
|
- name: Downgrade Android NDK
|
||||||
if: matrix.platform == 'android'
|
if: matrix.platform == 'android'
|
||||||
run: |
|
run: |
|
||||||
ANDROID_ROOT=/usr/local/lib/android
|
ANDROID_ROOT=/usr/local/lib/android
|
||||||
ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk
|
ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk
|
||||||
ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk-bundle
|
ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk-bundle
|
||||||
SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager
|
SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager
|
||||||
echo "y" | $SDKMANAGER "ndk;21.4.7075529"
|
echo "y" | $SDKMANAGER "ndk;21.4.7075529"
|
||||||
echo "y" | $SDKMANAGER "platforms;android-24"
|
echo "y" | $SDKMANAGER "platforms;android-24"
|
||||||
ln -sfn $ANDROID_SDK_ROOT/ndk/21.4.7075529 $ANDROID_NDK_ROOT
|
|
||||||
|
# this is so stupid but i can't find anything else that works
|
||||||
- uses: Skycoder42/action-setup-qt@master
|
rm -rf $ANDROID_HOME/ndk/25.2.9519653
|
||||||
|
ln -sf $ANDROID_HOME/ndk/21.4.7075529 $ANDROID_HOME/ndk/25.2.9519653
|
||||||
|
|
||||||
|
- uses: jurplel/install-qt-action@v3
|
||||||
id: qt
|
id: qt
|
||||||
with:
|
with:
|
||||||
version: ${{matrix.version}}
|
version: ${{matrix.version}}
|
||||||
platform: ${{matrix.platform}}
|
target: ${{matrix.target}}
|
||||||
|
arch: ${{matrix.arch}}
|
||||||
|
tools: ${{matrix.tools}}
|
||||||
|
cache: true
|
||||||
|
cache-key-prefix: qt
|
||||||
|
|
||||||
|
- name: Add tools to PATH (MinGW)
|
||||||
|
if: matrix.platform == 'mingw81_32'
|
||||||
|
shell: bash
|
||||||
|
run: echo "$RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin" >> $GITHUB_PATH
|
||||||
|
|
||||||
|
- name: Configure MSVC (Windows)
|
||||||
|
if: contains(matrix.platform, 'msvc')
|
||||||
|
uses: ilammy/msvc-dev-cmd@v1
|
||||||
|
|
||||||
- name: Install QtApng
|
- name: Install QtApng
|
||||||
run: |
|
run: |
|
||||||
@ -74,21 +99,23 @@ jobs:
|
|||||||
cd QtApng
|
cd QtApng
|
||||||
cd src/3rdparty
|
cd src/3rdparty
|
||||||
chmod +x get_libs.sh
|
chmod +x get_libs.sh
|
||||||
./get_libs.sh 1.3 1.6.37
|
./get_libs.sh 1.3.1 1.6.40
|
||||||
cd ../..
|
cd ../..
|
||||||
qmake CONFIG+=install_ok QMAKE_CXXFLAGS+="-fno-sized-deallocation" QT_PLATFORM=${{matrix.platform}}
|
qmake CONFIG+=install_ok QMAKE_CXXFLAGS+="-fno-sized-deallocation" QT_PLATFORM=${{matrix.platform}}
|
||||||
${{steps.qt.outputs.make}} qmake_all
|
${{matrix.make}}
|
||||||
${{steps.qt.outputs.make}}
|
${{matrix.make}} INSTALL_ROOT="${Qt5_DIR}" install
|
||||||
${{steps.qt.outputs.make}} INSTALL_ROOT="${{steps.qt.outputs.installdir}}" install
|
|
||||||
|
|
||||||
- name: Install Windows Discord RPC
|
- name: Install Windows Discord RPC
|
||||||
if: contains(matrix.os, 'windows')
|
if: contains(matrix.os, 'windows')
|
||||||
|
env:
|
||||||
|
ARCH: ${{ matrix.platform == 'msvc2019' && '64' || '32'}}
|
||||||
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
curl -L https://github.com/discordapp/discord-rpc/releases/download/v3.4.0/discord-rpc-win.zip -o discord_rpc.zip
|
curl -L https://github.com/discordapp/discord-rpc/releases/download/v3.4.0/discord-rpc-win.zip -o discord_rpc.zip
|
||||||
unzip discord_rpc.zip
|
unzip discord_rpc.zip
|
||||||
cp ./discord-rpc/win32-dynamic/lib/discord-rpc.lib ./lib/
|
cp ./discord-rpc/win${ARCH}-dynamic/lib/discord-rpc.lib ./lib/
|
||||||
cp ./discord-rpc/win32-dynamic/bin/discord-rpc.dll ./bin/
|
cp ./discord-rpc/win${ARCH}-dynamic/bin/discord-rpc.dll ./bin/
|
||||||
cp ./discord-rpc/win32-dynamic/include/discord*.h ./include/
|
cp ./discord-rpc/win${ARCH}-dynamic/include/discord*.h ./include/
|
||||||
|
|
||||||
- name: Install Linux Discord RPC
|
- name: Install Linux Discord RPC
|
||||||
if: matrix.platform == 'gcc_64'
|
if: matrix.platform == 'gcc_64'
|
||||||
@ -110,21 +137,24 @@ jobs:
|
|||||||
|
|
||||||
- name: Install Windows BASS
|
- name: Install Windows BASS
|
||||||
if: contains(matrix.os, 'windows')
|
if: contains(matrix.os, 'windows')
|
||||||
|
env:
|
||||||
|
ARCH: ${{ matrix.platform == 'msvc2019' && '/x64/' || ''}}
|
||||||
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
curl http://www.un4seen.com/files/bass24.zip -o bass.zip
|
curl http://www.un4seen.com/files/bass24.zip -o bass.zip
|
||||||
unzip -d bass -o bass.zip
|
unzip -d bass -o bass.zip
|
||||||
cp ./bass/c/bass.lib ./lib/
|
cp ./bass/c/${ARCH}bass.lib ./lib/
|
||||||
cp ./bass/bass.dll ./bin/
|
cp ./bass/${ARCH}bass.dll ./bin/
|
||||||
|
|
||||||
curl http://www.un4seen.com/files/bassmidi24.zip -o bassmidi.zip
|
curl http://www.un4seen.com/files/bassmidi24.zip -o bassmidi.zip
|
||||||
unzip -d bass -o bassmidi.zip
|
unzip -d bass -o bassmidi.zip
|
||||||
cp ./bass/c/bassmidi.lib ./lib/
|
cp ./bass/c/${ARCH}bassmidi.lib ./lib/
|
||||||
cp ./bass/bassmidi.dll ./bin/
|
cp ./bass/${ARCH}bassmidi.dll ./bin/
|
||||||
|
|
||||||
curl http://www.un4seen.com/files/bassopus24.zip -o bassopus.zip
|
curl http://www.un4seen.com/files/bassopus24.zip -o bassopus.zip
|
||||||
unzip -d bass -o bassopus.zip
|
unzip -d bass -o bassopus.zip
|
||||||
cp ./bass/c/bassopus.lib ./lib/
|
cp ./bass/c/${ARCH}bassopus.lib ./lib/
|
||||||
cp ./bass/bassopus.dll ./bin/
|
cp ./bass/${ARCH}bassopus.dll ./bin/
|
||||||
|
|
||||||
- name: Install Linux BASS
|
- name: Install Linux BASS
|
||||||
if: matrix.platform == 'gcc_64'
|
if: matrix.platform == 'gcc_64'
|
||||||
@ -196,7 +226,7 @@ jobs:
|
|||||||
|
|
||||||
- name: build
|
- name: build
|
||||||
run: |
|
run: |
|
||||||
${{steps.qt.outputs.make}}
|
${{matrix.make}}
|
||||||
|
|
||||||
- name: Deploy Windows
|
- name: Deploy Windows
|
||||||
if: contains(matrix.os, 'windows')
|
if: contains(matrix.os, 'windows')
|
||||||
@ -222,9 +252,9 @@ jobs:
|
|||||||
working-directory: ${{github.workspace}}/bin/
|
working-directory: ${{github.workspace}}/bin/
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
cp D:/a/AO2-Client/AO2-Client/.cache/qt/Tools/mingw810_32/bin/libgcc_s_dw2-1.dll .
|
cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libgcc_s_dw2-1.dll .
|
||||||
cp D:/a/AO2-Client/AO2-Client/.cache/qt/Tools/mingw810_32/bin/libstdc++-6.dll .
|
cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libstdc++-6.dll .
|
||||||
cp D:/a/AO2-Client/AO2-Client/.cache/qt/Tools/mingw810_32/bin/libwinpthread-1.dll .
|
cp $RUNNER_WORKSPACE/Qt/Tools/mingw810_32/bin/libwinpthread-1.dll .
|
||||||
|
|
||||||
- name: Deploy Linux
|
- name: Deploy Linux
|
||||||
if: matrix.platform == 'gcc_64'
|
if: matrix.platform == 'gcc_64'
|
||||||
|
@ -17,6 +17,7 @@ FORMS += $$files($$PWD/resource/ui/*.ui)
|
|||||||
|
|
||||||
LIBS += -L$$PWD/lib
|
LIBS += -L$$PWD/lib
|
||||||
QMAKE_LFLAGS += -Wl,-rpath,"'\$$ORIGIN/lib'"
|
QMAKE_LFLAGS += -Wl,-rpath,"'\$$ORIGIN/lib'"
|
||||||
|
QMAKE_CXXFLAGS += "-fno-sized-deallocation"
|
||||||
|
|
||||||
# Uncomment for verbose network logging
|
# Uncomment for verbose network logging
|
||||||
# DEFINES += DEBUG_NETWORK
|
# DEFINES += DEBUG_NETWORK
|
||||||
|
Loading…
Reference in New Issue
Block a user