Skip to content

Fix build error on old compiler without C++23 support. #2387

Fix build error on old compiler without C++23 support.

Fix build error on old compiler without C++23 support. #2387

Workflow file for this run

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'