Upgrade the Doxygen version to 1.13.0 #339 #527
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# GitHub Actions Workflow | |
# Build with Visual C++ on Windows | |
# Copyright 2019-2025 kaoru https://www.tetengo.org/ | |
name: Windows - Visual C++ | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ main ] | |
tags: [ v* ] | |
pull_request: | |
branches: [ main ] | |
env: | |
TETENGO_VER: 1.9.0 | |
CONCURRENT_BUILD: 4 | |
BOOST_VER: 1_87_0 | |
BOOST_VER_DOT: 1.87.0 | |
BOOST_TOOLSET: msvc-14.3 | |
BOOST_CACHE_REV: 0 | |
EMBEDTRANSFORM_CACHE_REV: 0 | |
jobs: | |
boost_download: | |
name: Boost Download | |
runs-on: windows-2022 | |
steps: | |
- name: Cache Boost source | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }}.tar.gz | |
key: Windows-VisualCpp-BoostSource-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Download Boost | |
shell: cmd | |
run: | | |
if not exist .boost_build\boost_${{ env.BOOST_VER }}.tar.gz ( | |
mkdir .boost_build | |
cd .boost_build | |
curl -L -o boost_${{ env.BOOST_VER }}.tar.gz https://archives.boost.io/release/${{ env.BOOST_VER_DOT }}/source/boost_${{ env.BOOST_VER }}.tar.gz | |
) | |
boost_build_for_release_win32: | |
name: Boost Buld for Release Win32 | |
runs-on: windows-2022 | |
needs: boost_download | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Restore Boost source | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }}.tar.gz | |
key: Windows-VisualCpp-BoostSource-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Cache Boost build | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }} | |
key: Windows-VisualCpp-Boost-release-Win32-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Build Boost | |
shell: cmd | |
run: | | |
if not exist .boost_build\boost_${{ env.BOOST_VER }}\.build_finished ( | |
cd .boost_build | |
tar -xf boost_${{ env.BOOST_VER }}.tar.gz | |
cd boost_${{ env.BOOST_VER }} | |
call bootstrap.bat | |
b2.exe -j ${{ env.CONCURRENT_BUILD }} toolset=${{ env.BOOST_TOOLSET }} address-model=32 variant=release link=static --stagedir="stage\Win32" stage | |
echo > .build_finished | |
) | |
boost_build_for_debug_win32: | |
name: Boost Buld for Debug Win32 | |
runs-on: windows-2022 | |
needs: boost_download | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Restore Boost source | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }}.tar.gz | |
key: Windows-VisualCpp-BoostSource-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Cache Boost build | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }} | |
key: Windows-VisualCpp-Boost-debug-Win32-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Build Boost | |
shell: cmd | |
run: | | |
if not exist .boost_build\boost_${{ env.BOOST_VER }}\.build_finished ( | |
cd .boost_build | |
tar -xf boost_${{ env.BOOST_VER }}.tar.gz | |
cd boost_${{ env.BOOST_VER }} | |
call bootstrap.bat | |
b2.exe -j ${{ env.CONCURRENT_BUILD }} toolset=${{ env.BOOST_TOOLSET }} address-model=32 variant=debug link=static --stagedir="stage\Win32" stage | |
echo > .build_finished | |
) | |
boost_build_for_release_x64: | |
name: Boost Buld for Release x64 | |
runs-on: windows-2022 | |
needs: boost_download | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Restore Boost source | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }}.tar.gz | |
key: Windows-VisualCpp-BoostSource-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Cache Boost build | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }} | |
key: Windows-VisualCpp-Boost-release-x64-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Build Boost | |
shell: cmd | |
run: | | |
if not exist .boost_build\boost_${{ env.BOOST_VER }}\.build_finished ( | |
cd .boost_build | |
tar -xf boost_${{ env.BOOST_VER }}.tar.gz | |
cd boost_${{ env.BOOST_VER }} | |
call bootstrap.bat | |
b2.exe -j ${{ env.CONCURRENT_BUILD }} toolset=${{ env.BOOST_TOOLSET }} address-model=64 variant=release link=static --stagedir="stage\x64" stage | |
echo > .build_finished | |
) | |
boost_build_for_debug_x64: | |
name: Boost Buld for Debug x64 | |
runs-on: windows-2022 | |
needs: boost_download | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Restore Boost source | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }}.tar.gz | |
key: Windows-VisualCpp-BoostSource-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Cache Boost build | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }} | |
key: Windows-VisualCpp-Boost-debug-x64-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Build Boost | |
shell: cmd | |
run: | | |
if not exist .boost_build\boost_${{ env.BOOST_VER }}\.build_finished ( | |
cd .boost_build | |
tar -xf boost_${{ env.BOOST_VER }}.tar.gz | |
cd boost_${{ env.BOOST_VER }} | |
call bootstrap.bat | |
b2.exe -j ${{ env.CONCURRENT_BUILD }} toolset=${{ env.BOOST_TOOLSET }} address-model=64 variant=debug link=static --stagedir="stage\x64" stage | |
echo > .build_finished | |
) | |
build_for_release_win32: | |
name: Build for Release Win32 | |
runs-on: windows-2022 | |
needs: boost_build_for_release_win32 | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Restore Boost build | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }} | |
key: Windows-VisualCpp-Boost-release-Win32-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Cache product | |
uses: actions/cache@v4 | |
with: | |
path: bin\Release.Win32 | |
key: Windows-VisualCpp-product-release-Win32-${{ github.run_number }} | |
- name: Build product | |
shell: cmd | |
run: | | |
set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} | |
set BOOST_LIB_x86=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\Win32\lib | |
msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x86 tetengo.sln | |
for /r %%f in (*.pch) do del /f /q %%f | |
for /r %%f in (*.sbr) do del /f /q %%f | |
for /r %%f in (*.bsc) do del /f /q %%f | |
for /r %%f in (*.obj) do del /f /q %%f | |
for /r %%f in (*.ipch) do del /f /q %%f | |
for /r %%f in (*.VC.db) do del /f /q %%f | |
build_for_debug_win32: | |
name: Build for Debug Win32 | |
runs-on: windows-2022 | |
needs: boost_build_for_debug_win32 | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Restore Boost build | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }} | |
key: Windows-VisualCpp-Boost-debug-Win32-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Cache product | |
uses: actions/cache@v4 | |
with: | |
path: bin\Debug.Win32 | |
key: Windows-VisualCpp-product-debug-Win32-${{ github.run_number }} | |
- name: Build product | |
shell: cmd | |
run: | | |
set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} | |
set BOOST_LIB_x86=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\Win32\lib | |
msbuild /t:Rebuild /m:1 /p:Configuration=Debug;Platform=x86 tetengo.sln | |
for /r %%f in (*.pch) do del /f /q %%f | |
for /r %%f in (*.sbr) do del /f /q %%f | |
for /r %%f in (*.bsc) do del /f /q %%f | |
for /r %%f in (*.obj) do del /f /q %%f | |
for /r %%f in (*.ipch) do del /f /q %%f | |
for /r %%f in (*.VC.db) do del /f /q %%f | |
build_for_release_x64: | |
name: Build for Release x64 | |
runs-on: windows-2022 | |
needs: boost_build_for_release_x64 | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Restore Boost build | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }} | |
key: Windows-VisualCpp-Boost-release-x64-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Cache product | |
uses: actions/cache@v4 | |
with: | |
path: bin\Release.x64 | |
key: Windows-VisualCpp-product-release-x64-${{ github.run_number }} | |
- name: Build product | |
shell: cmd | |
run: | | |
set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} | |
set BOOST_LIB_x64=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\x64\lib | |
msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x64 tetengo.sln | |
for /r %%f in (*.pch) do del /f /q %%f | |
for /r %%f in (*.sbr) do del /f /q %%f | |
for /r %%f in (*.bsc) do del /f /q %%f | |
for /r %%f in (*.obj) do del /f /q %%f | |
for /r %%f in (*.ipch) do del /f /q %%f | |
for /r %%f in (*.VC.db) do del /f /q %%f | |
build_for_debug_x64: | |
name: Build for Debug x64 | |
runs-on: windows-2022 | |
needs: boost_build_for_debug_x64 | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Restore Boost build | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }} | |
key: Windows-VisualCpp-Boost-debug-x64-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Cache product | |
uses: actions/cache@v4 | |
with: | |
path: bin\Debug.x64 | |
key: Windows-VisualCpp-product-debug-x64-${{ github.run_number }} | |
- name: Build product | |
shell: cmd | |
run: | | |
set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} | |
set BOOST_LIB_x64=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\x64\lib | |
msbuild /t:Rebuild /m:1 /p:Configuration=Debug;Platform=x64 tetengo.sln | |
for /r %%f in (*.pch) do del /f /q %%f | |
for /r %%f in (*.sbr) do del /f /q %%f | |
for /r %%f in (*.bsc) do del /f /q %%f | |
for /r %%f in (*.obj) do del /f /q %%f | |
for /r %%f in (*.ipch) do del /f /q %%f | |
for /r %%f in (*.VC.db) do del /f /q %%f | |
embedtransform_download: | |
name: EmbedTransform Download | |
runs-on: windows-2022 | |
steps: | |
- name: Cache embedtransform | |
uses: actions/cache@v4 | |
with: | |
path: .EmbedTransform | |
key: Windows-VisualCpp-EmbedTransform-${{ env.EMBEDTRANSFORM_CACHE_REV }} | |
- name: Setup EmbedTransform | |
shell: powershell | |
run: | | |
If (-not(Test-Path .EmbedTransform\.download_finished)) | |
{ | |
New-Item -Path . -Name .EmbedTransform -ItemType directory | |
Set-Location .EmbedTransform | |
Invoke-WebRequest -Uri https://www.firegiant.com/system/files/samples/EmbedTransform.zip -OutFile EmbedTransform.zip | |
Expand-Archive -Path EmbedTransform.zip -DestinationPath EmbedTransform | |
New-Item -Path . -Name .download_finished -ItemType file | |
} | |
archive_for_win32: | |
name: Setup and Archive Build for Win32 | |
runs-on: windows-2022 | |
needs: [ boost_build_for_release_Win32, embedtransform_download, build_for_release_Win32, build_for_debug_Win32, build_for_release_x64, build_for_debug_x64 ] | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Install WiX | |
shell: cmd | |
run: | | |
dotnet tool install --global wix --version 5.0.1 | |
wix extension add --global WixToolset.UI.wixext | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Restore Boost build | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }} | |
key: Windows-VisualCpp-Boost-release-Win32-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Restore embedtransform | |
uses: actions/cache@v4 | |
with: | |
path: .EmbedTransform | |
key: Windows-VisualCpp-EmbedTransform-${{ env.EMBEDTRANSFORM_CACHE_REV }} | |
- name: Restore product for Release Win32 | |
uses: actions/cache@v4 | |
with: | |
path: bin\Release.Win32 | |
key: Windows-VisualCpp-product-release-Win32-${{ github.run_number }} | |
- name: Restore product for Debug Win32 | |
uses: actions/cache@v4 | |
with: | |
path: bin\Debug.Win32 | |
key: Windows-VisualCpp-product-debug-Win32-${{ github.run_number }} | |
- name: Restore product for Release x64 | |
uses: actions/cache@v4 | |
with: | |
path: bin\Release.x64 | |
key: Windows-VisualCpp-product-release-x64-${{ github.run_number }} | |
- name: Restore product for Debug x64 | |
uses: actions/cache@v4 | |
with: | |
path: bin\Debug.x64 | |
key: Windows-VisualCpp-product-debug-x64-${{ github.run_number }} | |
- name: Build setup 32bit | |
shell: cmd | |
run: | | |
set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} | |
set BOOST_LIB_x86=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\Win32\lib | |
set EMBEDTRANSFORMDIR=${{ github.workspace }}\.EmbedTransform\EmbedTransform\ | |
msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x86 tetengo.setup.sln | |
- name: Cache archive | |
uses: actions/cache@v4 | |
with: | |
path: bin.setup\tetengo-windows-Win32-${{ env.TETENGO_VER }}.zip | |
key: Windows-VisualCpp-archive-Win32-${{ github.run_number }} | |
- name: Make archive | |
shell: powershell | |
run: | | |
Compress-Archive -Path .\bin.setup\Release.Win32 -DestinationPath .\bin.setup\tetengo-windows-Win32-${{ env.TETENGO_VER }}.zip | |
archive_for_x64: | |
name: Setup and Archive Build for x64 | |
runs-on: windows-2022 | |
needs: [ boost_build_for_release_x64, embedtransform_download, build_for_release_Win32, build_for_debug_Win32, build_for_release_x64, build_for_debug_x64 ] | |
steps: | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Install WiX | |
shell: cmd | |
run: | | |
dotnet tool install --global wix --version 5.0.1 | |
wix extension add --global WixToolset.UI.wixext | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Restore Boost build | |
uses: actions/cache@v4 | |
with: | |
path: .boost_build\boost_${{ env.BOOST_VER }} | |
key: Windows-VisualCpp-Boost-release-x64-${{ env.BOOST_VER }}-${{ env.BOOST_CACHE_REV }} | |
- name: Restore embedtransform | |
uses: actions/cache@v4 | |
with: | |
path: .EmbedTransform | |
key: Windows-VisualCpp-EmbedTransform-${{ env.EMBEDTRANSFORM_CACHE_REV }} | |
- name: Restore product for Release Win32 | |
uses: actions/cache@v4 | |
with: | |
path: bin\Release.Win32 | |
key: Windows-VisualCpp-product-release-Win32-${{ github.run_number }} | |
- name: Restore product for Debug Win32 | |
uses: actions/cache@v4 | |
with: | |
path: bin\Debug.Win32 | |
key: Windows-VisualCpp-product-debug-Win32-${{ github.run_number }} | |
- name: Restore product for Release x64 | |
uses: actions/cache@v4 | |
with: | |
path: bin\Release.x64 | |
key: Windows-VisualCpp-product-release-x64-${{ github.run_number }} | |
- name: Restore product for Debug x64 | |
uses: actions/cache@v4 | |
with: | |
path: bin\Debug.x64 | |
key: Windows-VisualCpp-product-debug-x64-${{ github.run_number }} | |
- name: Build setup | |
shell: cmd | |
run: | | |
set BOOST_INCLUDE=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }} | |
set BOOST_LIB_x64=${{ github.workspace }}\.boost_build\boost_${{ env.BOOST_VER }}\stage\x64\lib | |
set EMBEDTRANSFORMDIR=${{ github.workspace }}\.EmbedTransform\EmbedTransform\ | |
msbuild /t:Rebuild /m:1 /p:Configuration=Release;Platform=x64 tetengo.setup.sln | |
- name: Cache archive | |
uses: actions/cache@v4 | |
with: | |
path: | | |
bin.setup\tetengo-windows-x64-${{ env.TETENGO_VER }}.zip | |
bin.libimage\tetengo-windows-libimage-x64-${{ env.TETENGO_VER }}.zip | |
key: Windows-VisualCpp-archive-x64-${{ github.run_number }} | |
- name: Make archive | |
shell: powershell | |
run: | | |
Compress-Archive -Path .\bin.setup\Release.x64 -DestinationPath .\bin.setup\tetengo-windows-x64-${{ env.TETENGO_VER }}.zip | |
Compress-Archive -Path .\bin.libimage\Release.x64 -DestinationPath .\bin.libimage\tetengo-windows-libimage-x64-${{ env.TETENGO_VER }}.zip | |
artifact: | |
name: Artifact Collection | |
runs-on: windows-2022 | |
needs: [ archive_for_win32, archive_for_x64 ] | |
steps: | |
- name: Restore archive for Win32 | |
uses: actions/cache@v4 | |
with: | |
path: bin.setup\tetengo-windows-Win32-${{ env.TETENGO_VER }}.zip | |
key: Windows-VisualCpp-archive-Win32-${{ github.run_number }} | |
- name: Restore archive for x64 | |
uses: actions/cache@v4 | |
with: | |
path: | | |
bin.setup\tetengo-windows-x64-${{ env.TETENGO_VER }}.zip | |
bin.libimage\tetengo-windows-libimage-x64-${{ env.TETENGO_VER }}.zip | |
key: Windows-VisualCpp-archive-x64-${{ github.run_number }} | |
- name: Move artifacts | |
shell: cmd | |
run: | | |
mkdir artifacts | |
move bin.setup\tetengo-windows-Win32-${{ env.TETENGO_VER }}.zip artifacts | |
move bin.setup\tetengo-windows-x64-${{ env.TETENGO_VER }}.zip artifacts | |
move bin.libimage\tetengo-windows-libimage-x64-${{ env.TETENGO_VER }}.zip artifacts | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: artifacts-windows | |
path: artifacts |