Skip to content

Commit 6bac438

Browse files
committed
Update win target to MSVC v145 and enable all possible Release optimizations
1 parent 1e24e33 commit 6bac438

18 files changed

Lines changed: 118 additions & 59 deletions

File tree

.github/workflows/build.yml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
matrix:
2424
target: [linux, darwin, windows]
2525
architecture: [32, 64, arm64]
26-
build_system: [make, cmake, cmake-mingw, cmake-clang-cl, vs2019, makegcc14]
26+
build_system: [make, cmake, cmake-mingw, cmake-clang-cl, vs2026, makegcc14]
2727

2828
include:
2929
- target: linux
@@ -59,25 +59,25 @@ jobs:
5959
- build_system: cmake-clang-cl
6060
cmake_configuration: RelWithDebInfo
6161

62-
- build_system: vs2019
62+
- build_system: vs2026
6363
msbuild_configuration: Release
6464

6565
- target: windows
66-
runner: windows-2022 # has VS 2022 preinstalled which supports PlatformToolset <= v142, WindowsTargetPlatformVersion 10
66+
runner: windows-2025-vs2026 # has VS 2026 preinstalled which supports PlatformToolset <= v145, WindowsTargetPlatformVersion 10
6767
haxe_nightly_dir: windows64
6868
archive_ext: zip
6969

7070
- target: windows
7171
build_system: cmake
72-
cmake_generator: Visual Studio 17 2022
72+
cmake_generator: Visual Studio 18 2026
7373

7474
- target: windows
75-
runner: windows-2025
75+
runner: windows-latest
7676
build_system: cmake-mingw
7777

7878
- target: windows
7979
build_system: cmake-clang-cl
80-
cmake_generator: Visual Studio 17 2022
80+
cmake_generator: Visual Studio 18 2026
8181

8282
- target: windows
8383
architecture: 32
@@ -91,10 +91,10 @@ jobs:
9191

9292
exclude:
9393
- target: linux
94-
build_system: vs2019
94+
build_system: vs2026
9595

9696
- target: darwin
97-
build_system: vs2019
97+
build_system: vs2026
9898

9999
- target: darwin
100100
architecture: 32
@@ -128,8 +128,8 @@ jobs:
128128
uses: actions/checkout@v6
129129

130130
- name: "Add msbuild to PATH"
131-
if: matrix.build_system == 'vs2019'
132-
uses: microsoft/setup-msbuild@v2
131+
if: matrix.build_system == 'vs2026'
132+
uses: microsoft/setup-msbuild@v3
133133

134134
- name: "Mac homebrew workaround"
135135
if: matrix.target == 'darwin'
@@ -276,7 +276,7 @@ jobs:
276276
BUILD_FOLDER=build/bin
277277
;;
278278
279-
vs2019)
279+
vs2026)
280280
MSBuild.exe hl.sln //nologo //m //clp:ErrorsOnly \
281281
//p:Configuration=${{ matrix.msbuild_configuration }} \
282282
//p:Platform=${{ matrix.architecture_string }}
@@ -322,7 +322,7 @@ jobs:
322322
esac
323323
cd build && ctest --verbose --build-config ${{ matrix.cmake_configuration }}
324324
;;
325-
vs2019)
325+
vs2026)
326326
${{ env.WINDOWS_BUILD_FOLDER }}/hl.exe --version
327327
;;
328328
make*)
@@ -453,7 +453,7 @@ jobs:
453453
runner: macos-latest
454454

455455
- os: windows
456-
runner: windows-latest
456+
runner: windows-2025-vs2026
457457

458458
exclude:
459459
- os: darwin
@@ -469,7 +469,7 @@ jobs:
469469
uses: actions/download-artifact@v8
470470
with:
471471
name: |
472-
${{ matrix.os }}-${{ matrix.os == 'windows' && 'vs2019' || 'make' }}-${{
472+
${{ matrix.os }}-${{ matrix.os == 'windows' && 'vs2026' || 'make' }}-${{
473473
matrix.architecture == 'arm64' && 'arm64' ||
474474
matrix.architecture == 'x86_64' && '64' ||
475475
matrix.architecture == 'x86_32' && '32'
@@ -496,7 +496,7 @@ jobs:
496496
brew install libpng jpeg-turbo libvorbis sqlite mbedtls
497497
498498
- name: Install msbuild
499-
uses: microsoft/setup-msbuild@v2
499+
uses: microsoft/setup-msbuild@v3
500500
if: matrix.os == 'windows'
501501
with:
502502
msbuild-architecture: ${{ matrix.architecture == 'x86_64' && 'x64' || 'x86' }}
@@ -588,6 +588,6 @@ jobs:
588588
"linux-make-32/hashlink-${short_commit}-linux-i386.tar.gz#hashlink-latest-linux-i386.tar.gz" \
589589
"linux-make-64/hashlink-${short_commit}-linux-amd64.tar.gz#hashlink-latest-linux-amd64.tar.gz" \
590590
"linux-make-arm64/hashlink-${short_commit}-linux-arm64.tar.gz#hashlink-latest-linux-arm64.tar.gz" \
591-
"windows-vs2019-32/hashlink-${short_commit}-win32.zip#hashlink-latest-win32.zip" \
592-
"windows-vs2019-64/hashlink-${short_commit}-win64.zip#hashlink-latest-win64.zip" \
591+
"windows-vs2026-32/hashlink-${short_commit}-win32.zip#hashlink-latest-win32.zip" \
592+
"windows-vs2026-64/hashlink-${short_commit}-win64.zip#hashlink-latest-win64.zip" \
593593
"windows-cmake-mingw-64/hashlink-${short_commit}-win64-cmake-mingw.zip#hashlink-latest-win64-mingw.zip"

hl.vcxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<UseDebugLibraries>false</UseDebugLibraries>
5959
<WholeProgramOptimization>true</WholeProgramOptimization>
6060
<CharacterSet>Unicode</CharacterSet>
61-
<PlatformToolset>v142</PlatformToolset>
61+
<PlatformToolset>v145</PlatformToolset>
6262
</PropertyGroup>
6363
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDX12Agility|Win32'" Label="Configuration">
6464
<ConfigurationType>Application</ConfigurationType>
@@ -79,7 +79,7 @@
7979
<UseDebugLibraries>false</UseDebugLibraries>
8080
<WholeProgramOptimization>true</WholeProgramOptimization>
8181
<CharacterSet>Unicode</CharacterSet>
82-
<PlatformToolset>v142</PlatformToolset>
82+
<PlatformToolset>v145</PlatformToolset>
8383
</PropertyGroup>
8484
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDX12Agility|x64'" Label="Configuration">
8585
<ConfigurationType>Application</ConfigurationType>
@@ -295,6 +295,10 @@
295295
<BufferSecurityCheck>false</BufferSecurityCheck>
296296
<ConformanceMode>true</ConformanceMode>
297297
<LanguageStandard_C>stdc11</LanguageStandard_C>
298+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
299+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
300+
<OmitFramePointers>true</OmitFramePointers>
301+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
298302
</ClCompile>
299303
<Link>
300304
<SubSystem>Console</SubSystem>

libhl.vcxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
4343
<ConfigurationType>DynamicLibrary</ConfigurationType>
4444
<UseDebugLibraries>false</UseDebugLibraries>
45-
<PlatformToolset>v142</PlatformToolset>
45+
<PlatformToolset>v145</PlatformToolset>
4646
<WholeProgramOptimization>true</WholeProgramOptimization>
4747
<CharacterSet>Unicode</CharacterSet>
4848
</PropertyGroup>
@@ -62,7 +62,7 @@
6262
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
6363
<ConfigurationType>DynamicLibrary</ConfigurationType>
6464
<UseDebugLibraries>false</UseDebugLibraries>
65-
<PlatformToolset>v142</PlatformToolset>
65+
<PlatformToolset>v145</PlatformToolset>
6666
<WholeProgramOptimization>true</WholeProgramOptimization>
6767
<CharacterSet>Unicode</CharacterSet>
6868
</PropertyGroup>
@@ -216,6 +216,10 @@
216216
<BufferSecurityCheck>false</BufferSecurityCheck>
217217
<ConformanceMode>true</ConformanceMode>
218218
<LanguageStandard_C>stdc11</LanguageStandard_C>
219+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
220+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
221+
<OmitFramePointers>true</OmitFramePointers>
222+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
219223
</ClCompile>
220224
<Link>
221225
<SubSystem>Windows</SubSystem>

libs/directx/directx.vcxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
4848
<ConfigurationType>DynamicLibrary</ConfigurationType>
4949
<UseDebugLibraries>false</UseDebugLibraries>
50-
<PlatformToolset>v142</PlatformToolset>
50+
<PlatformToolset>v145</PlatformToolset>
5151
<WholeProgramOptimization>true</WholeProgramOptimization>
5252
<CharacterSet>Unicode</CharacterSet>
5353
</PropertyGroup>
@@ -67,7 +67,7 @@
6767
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
6868
<ConfigurationType>DynamicLibrary</ConfigurationType>
6969
<UseDebugLibraries>false</UseDebugLibraries>
70-
<PlatformToolset>v142</PlatformToolset>
70+
<PlatformToolset>v145</PlatformToolset>
7171
<WholeProgramOptimization>true</WholeProgramOptimization>
7272
<CharacterSet>Unicode</CharacterSet>
7373
</PropertyGroup>
@@ -224,6 +224,10 @@
224224
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;DIRECTX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
225225
<ConformanceMode>true</ConformanceMode>
226226
<LanguageStandard_C>stdc11</LanguageStandard_C>
227+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
228+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
229+
<OmitFramePointers>true</OmitFramePointers>
230+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
227231
</ClCompile>
228232
<Link>
229233
<SubSystem>Windows</SubSystem>

libs/directx/dx12.vcxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
3838
<ConfigurationType>DynamicLibrary</ConfigurationType>
3939
<UseDebugLibraries>false</UseDebugLibraries>
40-
<PlatformToolset>v142</PlatformToolset>
40+
<PlatformToolset>v145</PlatformToolset>
4141
<WholeProgramOptimization>true</WholeProgramOptimization>
4242
<CharacterSet>Unicode</CharacterSet>
4343
</PropertyGroup>
@@ -50,7 +50,7 @@
5050
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
5151
<ConfigurationType>DynamicLibrary</ConfigurationType>
5252
<UseDebugLibraries>false</UseDebugLibraries>
53-
<PlatformToolset>v142</PlatformToolset>
53+
<PlatformToolset>v145</PlatformToolset>
5454
<WholeProgramOptimization>true</WholeProgramOptimization>
5555
<CharacterSet>Unicode</CharacterSet>
5656
</PropertyGroup>
@@ -165,6 +165,10 @@
165165
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;DIRECTX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
166166
<ConformanceMode>true</ConformanceMode>
167167
<LanguageStandard_C>stdc11</LanguageStandard_C>
168+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
169+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
170+
<OmitFramePointers>true</OmitFramePointers>
171+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
168172
</ClCompile>
169173
<Link>
170174
<SubSystem>Windows</SubSystem>

libs/directx/dx12debug.vcxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
3838
<ConfigurationType>DynamicLibrary</ConfigurationType>
3939
<UseDebugLibraries>false</UseDebugLibraries>
40-
<PlatformToolset>v142</PlatformToolset>
40+
<PlatformToolset>v145</PlatformToolset>
4141
<WholeProgramOptimization>true</WholeProgramOptimization>
4242
<CharacterSet>Unicode</CharacterSet>
4343
</PropertyGroup>
@@ -50,7 +50,7 @@
5050
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
5151
<ConfigurationType>DynamicLibrary</ConfigurationType>
5252
<UseDebugLibraries>false</UseDebugLibraries>
53-
<PlatformToolset>v142</PlatformToolset>
53+
<PlatformToolset>v145</PlatformToolset>
5454
<WholeProgramOptimization>true</WholeProgramOptimization>
5555
<CharacterSet>Unicode</CharacterSet>
5656
</PropertyGroup>
@@ -165,6 +165,10 @@
165165
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;DIRECTX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
166166
<ConformanceMode>true</ConformanceMode>
167167
<LanguageStandard_C>stdc11</LanguageStandard_C>
168+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
169+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
170+
<OmitFramePointers>true</OmitFramePointers>
171+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
168172
</ClCompile>
169173
<Link>
170174
<SubSystem>Windows</SubSystem>

libs/fmt/fmt.vcxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@
189189
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
190190
<ConfigurationType>DynamicLibrary</ConfigurationType>
191191
<UseDebugLibraries>false</UseDebugLibraries>
192-
<PlatformToolset>v142</PlatformToolset>
192+
<PlatformToolset>v145</PlatformToolset>
193193
<WholeProgramOptimization>true</WholeProgramOptimization>
194194
<CharacterSet>Unicode</CharacterSet>
195195
</PropertyGroup>
@@ -209,7 +209,7 @@
209209
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
210210
<ConfigurationType>DynamicLibrary</ConfigurationType>
211211
<UseDebugLibraries>false</UseDebugLibraries>
212-
<PlatformToolset>v142</PlatformToolset>
212+
<PlatformToolset>v145</PlatformToolset>
213213
<WholeProgramOptimization>true</WholeProgramOptimization>
214214
<CharacterSet>Unicode</CharacterSet>
215215
</PropertyGroup>
@@ -374,6 +374,10 @@
374374
<AdditionalOptions>/wd4996 %(AdditionalOptions)</AdditionalOptions>
375375
<ConformanceMode>true</ConformanceMode>
376376
<LanguageStandard_C>stdc11</LanguageStandard_C>
377+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
378+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
379+
<OmitFramePointers>true</OmitFramePointers>
380+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
377381
</ClCompile>
378382
<Link>
379383
<SubSystem>Windows</SubSystem>

libs/heaps/heaps.vcxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
6969
<ConfigurationType>DynamicLibrary</ConfigurationType>
7070
<UseDebugLibraries>false</UseDebugLibraries>
71-
<PlatformToolset>v142</PlatformToolset>
71+
<PlatformToolset>v145</PlatformToolset>
7272
<WholeProgramOptimization>true</WholeProgramOptimization>
7373
<CharacterSet>Unicode</CharacterSet>
7474
</PropertyGroup>
@@ -81,7 +81,7 @@
8181
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
8282
<ConfigurationType>DynamicLibrary</ConfigurationType>
8383
<UseDebugLibraries>false</UseDebugLibraries>
84-
<PlatformToolset>v142</PlatformToolset>
84+
<PlatformToolset>v145</PlatformToolset>
8585
<WholeProgramOptimization>true</WholeProgramOptimization>
8686
<CharacterSet>Unicode</CharacterSet>
8787
</PropertyGroup>
@@ -193,6 +193,10 @@
193193
<PrecompiledHeader>NotUsing</PrecompiledHeader>
194194
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
195195
<LanguageStandard_C>stdc11</LanguageStandard_C>
196+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
197+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
198+
<OmitFramePointers>true</OmitFramePointers>
199+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
196200
</ClCompile>
197201
<Link>
198202
<SubSystem>Windows</SubSystem>

libs/mysql/mysql.vcxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
5656
<ConfigurationType>DynamicLibrary</ConfigurationType>
5757
<UseDebugLibraries>false</UseDebugLibraries>
58-
<PlatformToolset>v142</PlatformToolset>
58+
<PlatformToolset>v145</PlatformToolset>
5959
<WholeProgramOptimization>true</WholeProgramOptimization>
6060
<CharacterSet>Unicode</CharacterSet>
6161
</PropertyGroup>
@@ -75,7 +75,7 @@
7575
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
7676
<ConfigurationType>DynamicLibrary</ConfigurationType>
7777
<UseDebugLibraries>false</UseDebugLibraries>
78-
<PlatformToolset>v142</PlatformToolset>
78+
<PlatformToolset>v145</PlatformToolset>
7979
<WholeProgramOptimization>true</WholeProgramOptimization>
8080
<CharacterSet>Unicode</CharacterSet>
8181
</PropertyGroup>
@@ -235,6 +235,10 @@
235235
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;MYSQL_EXPORTS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
236236
<ConformanceMode>true</ConformanceMode>
237237
<LanguageStandard_C>stdc11</LanguageStandard_C>
238+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
239+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
240+
<OmitFramePointers>true</OmitFramePointers>
241+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
238242
</ClCompile>
239243
<Link>
240244
<SubSystem>Windows</SubSystem>

libs/openal/openal.vcxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
4343
<ConfigurationType>DynamicLibrary</ConfigurationType>
4444
<UseDebugLibraries>false</UseDebugLibraries>
45-
<PlatformToolset>v142</PlatformToolset>
45+
<PlatformToolset>v145</PlatformToolset>
4646
<WholeProgramOptimization>true</WholeProgramOptimization>
4747
<CharacterSet>Unicode</CharacterSet>
4848
</PropertyGroup>
@@ -62,7 +62,7 @@
6262
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
6363
<ConfigurationType>DynamicLibrary</ConfigurationType>
6464
<UseDebugLibraries>false</UseDebugLibraries>
65-
<PlatformToolset>v142</PlatformToolset>
65+
<PlatformToolset>v145</PlatformToolset>
6666
<WholeProgramOptimization>true</WholeProgramOptimization>
6767
<CharacterSet>Unicode</CharacterSet>
6868
</PropertyGroup>
@@ -222,6 +222,10 @@
222222
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;OPENAL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
223223
<ConformanceMode>true</ConformanceMode>
224224
<LanguageStandard_C>stdc11</LanguageStandard_C>
225+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
226+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
227+
<OmitFramePointers>true</OmitFramePointers>
228+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
225229
</ClCompile>
226230
<Link>
227231
<SubSystem>Windows</SubSystem>

0 commit comments

Comments
 (0)