added 32-bit Windows build to GitHub action (#3144)

This commit is contained in:
Oliver Stöneberg 2021-02-24 22:41:25 +01:00 committed by GitHub
parent e03851f51c
commit 77474d0ccd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 51 additions and 29 deletions

View File

@ -17,6 +17,7 @@ jobs:
matrix:
# windows 2016 should default to VS 2017. Not supported by setup-msbuild
os: [windows-2019]
arch: [x64, x86]
fail-fast: true
runs-on: ${{ matrix.os }}
@ -26,79 +27,100 @@ jobs:
- name: Setup msbuild.exe
uses: microsoft/setup-msbuild@v1.0.2
- name: Install PCRE
run: |
curl -fsSL https://ftp.pcre.org/pub/pcre/pcre-%PCRE_VERSION%.zip -o pcre-%PCRE_VERSION%.zip
7z x pcre-%PCRE_VERSION%.zip
cd pcre-%PCRE_VERSION%
cmake . -G "Visual Studio 16 2019" -A x64
msbuild -m PCRE.sln /p:Configuration=Release /p:Platform=x64
dir
dir Release
dir x64
dir x64\Release
copy pcre.h ..\externals
copy Release\pcre.lib ..\externals\pcre64.lib
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.arch }} || exit /b !errorlevel!
curl -fsSL https://ftp.pcre.org/pub/pcre/pcre-%PCRE_VERSION%.zip -o pcre-%PCRE_VERSION%.zip || exit /b !errorlevel!
7z x pcre-%PCRE_VERSION%.zip || exit /b !errorlevel!
cd pcre-%PCRE_VERSION% || exit /b !errorlevel!
cmake . -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DPCRE_BUILD_PCRECPP=Off -DPCRE_BUILD_TESTS=Off -DPCRE_BUILD_PCREGREP=Off || exit /b !errorlevel!
nmake || exit /b !errorlevel!
copy pcre.h ..\externals || exit /b !errorlevel!
if "${{ matrix.arch }}" == "x86" (
copy pcre.lib ..\externals\pcre.lib || exit /b !errorlevel!
) else (
copy pcre.lib ..\externals\pcre64.lib || exit /b !errorlevel!
)
env:
# see https://www.pcre.org/original/changelog.txt
PCRE_VERSION: 8.44
- name: Install Z3 library
run: |
curl -fsSL https://github.com/Z3Prover/z3/releases/download/z3-%Z3_VERSION%/z3-%Z3_VERSION%-x64-win.zip -o z3-%Z3_VERSION%-win.zip
7z x z3-%Z3_VERSION%-win.zip -oexternals -r -y
move externals\z3-%Z3_VERSION%-x64-win externals\z3
curl -fsSL https://github.com/Z3Prover/z3/releases/download/z3-%Z3_VERSION%/z3-%Z3_VERSION%-${{ matrix.arch }}-win.zip -o z3-%Z3_VERSION%-win.zip || exit /b !errorlevel!
7z x z3-%Z3_VERSION%-win.zip -oexternals -r -y || exit /b !errorlevel!
move externals\z3-%Z3_VERSION%-${{ matrix.arch }}-win externals\z3 || exit /b !errorlevel!
env:
# see https://github.com/Z3Prover/z3/releases:
Z3_VERSION: 4.8.10
# no 32-bit Qt available
- name: Install Qt
if: matrix.os == 'x64'
uses: jurplel/install-qt-action@v2
with:
modules: 'qtcharts'
- name: Build GUI x64 release
- name: Build GUI release
if: matrix.os == 'x64'
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
cd gui
qmake HAVE_QCHART=yes
nmake release
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.arch }} || exit /b !errorlevel!
cd gui || exit /b !errorlevel!
qmake HAVE_QCHART=yes || exit /b !errorlevel!
nmake release || exit /b !errorlevel!
- name: Deploy GUI
if: matrix.os == 'x64'
run: |
windeployqt Build\gui
del Build\gui\cppcheck-gui.ilk
del Build\gui\cppcheck-gui.pdb
windeployqt Build\gui || exit /b !errorlevel!
del Build\gui\cppcheck-gui.ilk || exit /b !errorlevel!
del Build\gui\cppcheck-gui.pdb || exit /b !errorlevel!
- name: Build CLI x64 debug configuration using MSBuild
run: msbuild -m cppcheck.sln /p:Configuration=Debug-PCRE /p:Platform=x64
- name: Build CLI debug configuration using MSBuild
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.arch }} || exit /b !errorlevel!
set ARCH=${{ matrix.arch }}
if "${{ matrix.arch }}" == "x86" (
set ARCH=Win32
)
msbuild -m cppcheck.sln /p:Configuration=Debug-PCRE;Platform=%ARCH% -maxcpucount || exit /b !errorlevel!
- name: Run Debug test
run: .\bin\debug\testrunner.exe
run: .\bin\debug\testrunner.exe || exit /b !errorlevel!
- name: Build x64 release configuration using MSBuild
run: msbuild -m cppcheck.sln /p:Configuration=Release-PCRE /p:Platform=x64
- name: Build CLI release configuration using MSBuild
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.arch }} || exit /b !errorlevel!
set ARCH=${{ matrix.arch }}
if "${{ matrix.arch }}" == "x86" (
set ARCH=Win32
)
msbuild -m cppcheck.sln /p:Configuration=Release-PCRE;Platform=%ARCH% -maxcpucount || exit /b !errorlevel!
- name: Run Release test
run: .\bin\testrunner.exe
run: .\bin\testrunner.exe || exit /b !errorlevel!
- uses: actions/upload-artifact@v2
if: matrix.os == 'x64'
with:
name: cppcheck_gui
path: Build\gui
- uses: actions/upload-artifact@v2
if: matrix.os == 'x64'
with:
name: cppcheck_gui
path: ./**/cfg/*.cfg
- uses: actions/upload-artifact@v2
if: matrix.os == 'x64'
with:
name: cppcheck_gui
path: ./**/platforms/*.xml
- uses: actions/upload-artifact@v2
if: matrix.os == 'x64'
with:
name: cppcheck_gui
path: externals\z3\bin\*.dll