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