Fix build error on old compiler without C++23 support. #2387
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
name: CI | |
on: [push, pull_request] | |
defaults: | |
run: | |
shell: cmd | |
jobs: | |
msvc2019: | |
name: Visual C++ 2019 | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update Version Hash | |
run: | | |
"c:/Program Files/Git/usr/bin/sed" -i "s/^\(.\+\)[0-9a-f]\{8\}\(.\+\)$/\1%GITHUB_SHA:~0,8%\2/gm" ./src/VersionRev.h ./metapath/src/VersionRev.h | |
- name: MSVC x64 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build x64 Release 1 | |
CALL "locale\build.bat" Build x64 Release 1 | |
CALL "build\make_zip.bat" MSVC x64 Release Locale 1 | |
- name: MSVC Win32 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build Win32 Release 1 | |
CALL "locale\build.bat" Build Win32 Release 1 | |
CALL "build\make_zip.bat" MSVC Win32 Release Locale 1 | |
- name: MSVC AVX2 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build AVX2 Release 1 | |
CALL "locale\build.bat" Build AVX2 Release 1 | |
CALL "build\make_zip.bat" MSVC AVX2 Release Locale 1 | |
- name: MSVC ARM64 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build ARM64 Release 1 | |
CALL "locale\build.bat" Build ARM64 Release 1 | |
CALL "build\make_zip.bat" MSVC ARM64 Release Locale 1 | |
- name: MSVC ARM Release | |
run: | | |
CALL "build\VS2017\build.bat" Build ARM Release 1 | |
CALL "build\make_zip.bat" MSVC ARM Release 1 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_MSVC2019_i18n_x64 | |
path: 'build\Notepad2_i18n_x64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_MSVC2019_i18n_Win32 | |
path: 'build\Notepad2_i18n_Win32_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_MSVC2019_i18n_AVX2 | |
path: 'build\Notepad2_i18n_AVX2_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_MSVC2019_i18n_ARM64 | |
path: 'build\Notepad2_i18n_ARM64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_MSVC2019_en_ARM | |
path: 'build\Notepad2_ARM_*.zip' | |
msvc2022: | |
name: Visual C++ 2022 | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update Version Hash | |
run: | | |
"c:/Program Files/Git/usr/bin/sed" -i "s/^\(.\+\)[0-9a-f]\{8\}\(.\+\)$/\1%GITHUB_SHA:~0,8%\2/gm" ./src/VersionRev.h ./metapath/src/VersionRev.h | |
- name: Install v141_xp Toolset | |
continue-on-error: true | |
shell: powershell | |
run: | | |
Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\" | |
$InstallPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" | |
$WorkLoads = '--add Microsoft.VisualStudio.Component.WinXP' | |
$Arguments = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$InstallPath`"", $WorkLoads, '--quiet', '--norestart', '--nocache') | |
$process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden | |
if ($process.ExitCode -eq 0) { | |
Write-Host "components have been successfully added" | |
} else { | |
Write-Host "components were not installed" | |
} | |
- name: MSVC x64 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build x64 Release 1 | |
CALL "locale\build.bat" Build x64 Release 1 | |
CALL "build\make_zip.bat" MSVC x64 Release Locale 1 | |
- name: MSVC Win32 Release | |
continue-on-error: true | |
run: | | |
CALL "build\VS2017\build.bat" Build Win32 Release 1 | |
CALL "locale\build.bat" Build Win32 Release 1 | |
CALL "build\make_zip.bat" MSVC Win32 Release Locale 1 | |
- name: MSVC AVX2 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build AVX2 Release 1 | |
CALL "locale\build.bat" Build AVX2 Release 1 | |
CALL "build\make_zip.bat" MSVC AVX2 Release Locale 1 | |
- name: MSVC ARM64 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build ARM64 Release 1 | |
CALL "locale\build.bat" Build ARM64 Release 1 | |
CALL "build\make_zip.bat" MSVC ARM64 Release Locale 1 | |
- name: MSVC ARM Release | |
run: | | |
CALL "build\VS2017\build.bat" Build ARM Release 1 | |
CALL "build\make_zip.bat" MSVC ARM Release 1 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_MSVC2022_i18n_x64 | |
path: 'build\Notepad2_i18n_x64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_MSVC2022_i18n_Win32 | |
path: 'build\Notepad2_i18n_Win32_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_MSVC2022_i18n_AVX2 | |
path: 'build\Notepad2_i18n_AVX2_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_MSVC2022_i18n_ARM64 | |
path: 'build\Notepad2_i18n_ARM64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_MSVC2022_en_ARM | |
path: 'build\Notepad2_ARM_*.zip' | |
llvm_msvc2019: | |
name: LLVM (Visual C++ 2019) | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update Version Hash | |
run: | | |
"c:/Program Files/Git/usr/bin/sed" -i "s/^\(.\+\)[0-9a-f]\{8\}\(.\+\)$/\1%GITHUB_SHA:~0,8%\2/gm" ./src/VersionRev.h ./metapath/src/VersionRev.h | |
- name: Install LLVM | |
run: | | |
CALL "build\install_llvm.bat" latest 1 | |
- name: Clang x64 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build x64 LLVMRelease 1 | |
CALL "build\make_zip.bat" LLVM x64 Release 1 | |
- name: Clang Win32 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build Win32 LLVMRelease 1 | |
CALL "build\make_zip.bat" LLVM Win32 Release 1 | |
- name: Clang AVX2 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build AVX2 LLVMRelease 1 | |
CALL "build\make_zip.bat" LLVM AVX2 Release 1 | |
- name: Clang ARM64 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build ARM64 LLVMRelease 1 | |
CALL "build\make_zip.bat" LLVM ARM64 Release 1 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_MSVC2019_en_x64 | |
path: 'build\Notepad2_LLVM_x64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_MSVC2019_en_Win32 | |
path: 'build\Notepad2_LLVM_Win32_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_MSVC2019_en_AVX2 | |
path: 'build\Notepad2_LLVM_AVX2_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_MSVC2019_en_ARM64 | |
path: 'build\Notepad2_LLVM_ARM64_*.zip' | |
llvm_msvc2022: | |
name: LLVM (Visual C++ 2022) | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update Version Hash | |
run: | | |
"c:/Program Files/Git/usr/bin/sed" -i "s/^\(.\+\)[0-9a-f]\{8\}\(.\+\)$/\1%GITHUB_SHA:~0,8%\2/gm" ./src/VersionRev.h ./metapath/src/VersionRev.h | |
- name: Install v141_xp Toolset | |
continue-on-error: true | |
shell: powershell | |
run: | | |
Set-Location "C:\Program Files (x86)\Microsoft Visual Studio\Installer\" | |
$InstallPath = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" | |
$WorkLoads = '--add Microsoft.VisualStudio.Component.WinXP' | |
$Arguments = ('/c', "vs_installer.exe", 'modify', '--installPath', "`"$InstallPath`"", $WorkLoads, '--quiet', '--norestart', '--nocache') | |
$process = Start-Process -FilePath cmd.exe -ArgumentList $Arguments -Wait -PassThru -WindowStyle Hidden | |
if ($process.ExitCode -eq 0) { | |
Write-Host "components have been successfully added" | |
} else { | |
Write-Host "components were not installed" | |
} | |
- name: Install LLVM | |
run: | | |
CALL "build\install_llvm.bat" latest 1 | |
- name: Clang x64 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build x64 LLVMRelease 1 | |
CALL "build\make_zip.bat" LLVM x64 Release 1 | |
- name: Clang Win32 Release | |
continue-on-error: true | |
run: | | |
CALL "build\VS2017\build.bat" Build Win32 LLVMRelease 1 | |
CALL "build\make_zip.bat" LLVM Win32 Release 1 | |
- name: Clang AVX2 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build AVX2 LLVMRelease 1 | |
CALL "build\make_zip.bat" LLVM AVX2 Release 1 | |
- name: Clang ARM64 Release | |
run: | | |
CALL "build\VS2017\build.bat" Build ARM64 LLVMRelease 1 | |
CALL "build\make_zip.bat" LLVM ARM64 Release 1 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_MSVC2022_en_x64 | |
path: 'build\Notepad2_LLVM_x64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_MSVC2022_en_Win32 | |
path: 'build\Notepad2_LLVM_Win32_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_MSVC2022_en_AVX2 | |
path: 'build\Notepad2_LLVM_AVX2_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_MSVC2022_en_ARM64 | |
path: 'build\Notepad2_LLVM_ARM64_*.zip' | |
llvm_mingw: | |
name: llvm-mingw | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update Version Hash | |
run: | | |
"c:/Program Files/Git/usr/bin/sed" -i "s/^\(.\+\)[0-9a-f]\{8\}\(.\+\)$/\1%GITHUB_SHA:~0,8%\2/gm" ./src/VersionRev.h ./metapath/src/VersionRev.h | |
- name: Install llvm-mingw | |
run: | | |
CALL "build\install_mingw.bat" llvm | |
- name: Clang x64 Release | |
continue-on-error: true | |
run: | | |
CALL "build\mingw\build.bat" llvm x86_64 | |
CALL "build\make_zip.bat" Clang x64 Release 1 | |
- name: Clang Win32 Release | |
continue-on-error: true | |
run: | | |
CALL "build\mingw\build.bat" llvm i686 | |
CALL "build\make_zip.bat" Clang Win32 Release 1 | |
- name: Clang AVX2 Release | |
continue-on-error: true | |
run: | | |
CALL "build\mingw\build.bat" llvm AVX2 | |
CALL "build\make_zip.bat" Clang AVX2 Release 1 | |
- name: Clang ARM64 Release | |
continue-on-error: true | |
run: | | |
CALL "build\mingw\build.bat" llvm aarch64 | |
CALL "build\make_zip.bat" Clang ARM64 Release 1 | |
- name: Clang ARM Release | |
continue-on-error: true | |
run: | | |
CALL "build\mingw\build.bat" llvm armv7 | |
CALL "build\make_zip.bat" Clang ARM Release 1 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_llvm_mingw_en_x64 | |
path: 'build\Notepad2_Clang_x64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_llvm_mingw_en_Win32 | |
path: 'build\Notepad2_Clang_Win32_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_llvm_mingw_en_AVX2 | |
path: 'build\Notepad2_Clang_AVX2_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_llvm_mingw_en_ARM64 | |
path: 'build\Notepad2_Clang_ARM64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_llvm_mingw_en_ARM | |
path: 'build\Notepad2_Clang_ARM_*.zip' | |
gcc_ucrt: | |
name: ucrt GCC and Clang | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update Version Hash | |
run: | | |
"c:/Program Files/Git/usr/bin/sed" -i "s/^\(.\+\)[0-9a-f]\{8\}\(.\+\)$/\1%GITHUB_SHA:~0,8%\2/gm" ./src/VersionRev.h ./metapath/src/VersionRev.h | |
- name: Install GCC and Clang | |
run: | | |
CALL "build\install_mingw.bat" ucrt | |
- name: GCC x64 Release | |
run: | | |
CALL "build\mingw\build.bat" ucrt | |
CALL "build\make_zip.bat" GCC x64 Release 1 | |
- name: GCC AVX2 Release | |
run: | | |
CALL "build\mingw\build.bat" ucrt AVX2 | |
CALL "build\make_zip.bat" GCC AVX2 Release 1 | |
- name: Clang x64 Release | |
run: | | |
CALL "build\mingw\build.bat" ucrt Clang | |
CALL "build\make_zip.bat" Clang x64 Release 1 | |
- name: Clang AVX2 Release | |
run: | | |
CALL "build\mingw\build.bat" ucrt AVX2 Clang | |
CALL "build\make_zip.bat" Clang AVX2 Release 1 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_GCC_en_x64_ucrt | |
path: 'build\Notepad2_GCC_x64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_GCC_en_AVX2_ucrt | |
path: 'build\Notepad2_GCC_AVX2_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_mingw_en_x64_ucrt | |
path: 'build\Notepad2_Clang_x64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_mingw_en_AVX2_ucrt | |
path: 'build\Notepad2_Clang_AVX2_*.zip' | |
gcc_x86_64: | |
name: 64-bit GCC and Clang | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update Version Hash | |
run: | | |
"c:/Program Files/Git/usr/bin/sed" -i "s/^\(.\+\)[0-9a-f]\{8\}\(.\+\)$/\1%GITHUB_SHA:~0,8%\2/gm" ./src/VersionRev.h ./metapath/src/VersionRev.h | |
- name: Install GCC and Clang | |
run: | | |
CALL "build\install_mingw.bat" x86_64 | |
- name: GCC x64 Release | |
run: | | |
CALL "build\mingw\build.bat" x86_64 | |
CALL "build\make_zip.bat" GCC x64 Release 1 | |
- name: GCC AVX2 Release | |
run: | | |
CALL "build\mingw\build.bat" x86_64 AVX2 | |
CALL "build\make_zip.bat" GCC AVX2 Release 1 | |
- name: Clang x64 Release | |
run: | | |
CALL "build\mingw\build.bat" x86_64 Clang | |
CALL "build\make_zip.bat" Clang x64 Release 1 | |
- name: Clang AVX2 Release | |
run: | | |
CALL "build\mingw\build.bat" x86_64 AVX2 Clang | |
CALL "build\make_zip.bat" Clang AVX2 Release 1 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_GCC_en_x64 | |
path: 'build\Notepad2_GCC_x64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_GCC_en_AVX2 | |
path: 'build\Notepad2_GCC_AVX2_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_mingw_en_x64 | |
path: 'build\Notepad2_Clang_x64_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_mingw_en_AVX2 | |
path: 'build\Notepad2_Clang_AVX2_*.zip' | |
gcc_i686: | |
name: 32-bit GCC and Clang | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update Version Hash | |
run: | | |
"c:/Program Files/Git/usr/bin/sed" -i "s/^\(.\+\)[0-9a-f]\{8\}\(.\+\)$/\1%GITHUB_SHA:~0,8%\2/gm" ./src/VersionRev.h ./metapath/src/VersionRev.h | |
- name: Install GCC and Clang | |
run: | | |
CALL "build\install_mingw.bat" i686 | |
- name: GCC Win32 Release | |
run: | | |
CALL "build\mingw\build.bat" i686 | |
CALL "build\make_zip.bat" GCC Win32 Release 1 | |
- name: Clang Win32 Release | |
run: | | |
CALL "build\mingw\build.bat" i686 Clang | |
CALL "build\make_zip.bat" Clang Win32 Release 1 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_GCC_en_Win32 | |
path: 'build\Notepad2_GCC_Win32_*.zip' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Notepad2_Clang_mingw_en_Win32 | |
path: 'build\Notepad2_Clang_Win32_*.zip' |