# Some convenient links: # - https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md # name: release-windows on: push: tags: - '2.*' schedule: - cron: '0 0 * * *' workflow_dispatch: defaults: run: shell: cmd jobs: build: runs-on: windows-2019 steps: - uses: actions/checkout@v2 - name: Setup msbuild.exe uses: microsoft/setup-msbuild@v1.0.2 - name: Install PCRE run: | curl -fsSL https://ftp.pcre.org/pub/pcre/pcre-8.44.zip -o pcre-8.44.zip 7z x pcre-8.44.zip cd pcre-8.44 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 - name: Install Z3 library run: | curl -fsSL https://github.com/Z3Prover/z3/releases/download/z3-4.8.7/z3-4.8.7-x64-win.zip -o z3-4.8.7-win.zip 7z x z3-4.8.7-win.zip -oexternals -r -y move externals\z3-4.8.7-x64-win externals\z3 - name: Install Qt uses: jurplel/install-qt-action@v2 with: version: '5.15.2' modules: 'qtcharts qthelp' mirror: 'http://mirrors.ocf.berkeley.edu/qt/' - name: Create .qm run: | cd gui lupdate gui.pro lrelease gui.pro -removeidentical - name: Matchcompiler run: python tools\matchcompiler.py --write-dir lib - name: Build x64 release GUI run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" cd gui qmake HAVE_QCHART=yes nmake release env: CL: /MP - name: Deploy app run: | windeployqt Build\gui del Build\gui\cppcheck-gui.ilk del Build\gui\cppcheck-gui.pdb - name: Build CLI x64 release configuration using MSBuild run: msbuild -m cppcheck.sln /t:cli /p:Configuration=Release-PCRE /p:Platform=x64 - name: Build Installer run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" mkdir bin xcopy /S Build\gui bin cd win_installer REM Read ProductVersion for /f "tokens=4 delims= " %%a in ('find "ProductVersion" productInfo.wxi') do set PRODUCTVER=%%a REM Remove double quotes set PRODUCTVER=%PRODUCTVER:"=% echo ProductVersion=%PRODUCTVER% msbuild -m cppcheck.wixproj /p:Platform=x64,ProductVersion=%PRODUCTVER%.${{ github.run_number }} - uses: actions/upload-artifact@v2 with: name: installer path: win_installer/Build/ - uses: actions/upload-artifact@v2 with: name: deploy path: Build\gui