Skip to content

Commit 89e56bf

Browse files
committed
Update win target to MSVC v145 and enable all possible Release optimizations
1 parent e781220 commit 89e56bf

18 files changed

Lines changed: 174 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*)
@@ -455,7 +455,7 @@ jobs:
455455
runner: macos-latest
456456

457457
- os: windows
458-
runner: windows-latest
458+
runner: windows-2025-vs2026
459459

460460
exclude:
461461
- os: darwin
@@ -471,7 +471,7 @@ jobs:
471471
uses: actions/download-artifact@v8
472472
with:
473473
name: |
474-
${{ matrix.os }}-${{ matrix.os == 'windows' && 'vs2019' || 'make' }}-${{
474+
${{ matrix.os }}-${{ matrix.os == 'windows' && 'vs2026' || 'make' }}-${{
475475
matrix.architecture == 'arm64' && 'arm64' ||
476476
matrix.architecture == 'x86_64' && '64' ||
477477
matrix.architecture == 'x86_32' && '32'
@@ -498,7 +498,7 @@ jobs:
498498
brew install libpng jpeg-turbo libvorbis sqlite mbedtls
499499
500500
- name: Install msbuild
501-
uses: microsoft/setup-msbuild@v2
501+
uses: microsoft/setup-msbuild@v3
502502
if: matrix.os == 'windows'
503503
with:
504504
msbuild-architecture: ${{ matrix.architecture == 'x86_64' && 'x64' || 'x86' }}
@@ -590,6 +590,6 @@ jobs:
590590
"linux-make-32/hashlink-${short_commit}-linux-i386.tar.gz#hashlink-latest-linux-i386.tar.gz" \
591591
"linux-make-64/hashlink-${short_commit}-linux-amd64.tar.gz#hashlink-latest-linux-amd64.tar.gz" \
592592
"linux-make-arm64/hashlink-${short_commit}-linux-arm64.tar.gz#hashlink-latest-linux-arm64.tar.gz" \
593-
"windows-vs2019-32/hashlink-${short_commit}-win32.zip#hashlink-latest-win32.zip" \
594-
"windows-vs2019-64/hashlink-${short_commit}-win64.zip#hashlink-latest-win64.zip" \
593+
"windows-vs2026-32/hashlink-${short_commit}-win32.zip#hashlink-latest-win32.zip" \
594+
"windows-vs2026-64/hashlink-${short_commit}-win64.zip#hashlink-latest-win64.zip" \
595595
"windows-cmake-mingw-64/hashlink-${short_commit}-win64-cmake-mingw.zip#hashlink-latest-win64-mingw.zip"

hl.vcxproj

Lines changed: 10 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>
@@ -215,6 +215,10 @@
215215
<BufferSecurityCheck>false</BufferSecurityCheck>
216216
<ConformanceMode>true</ConformanceMode>
217217
<LanguageStandard_C>stdc11</LanguageStandard_C>
218+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
219+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
220+
<OmitFramePointers>true</OmitFramePointers>
221+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
218222
</ClCompile>
219223
<Link>
220224
<SubSystem>Console</SubSystem>
@@ -295,6 +299,10 @@
295299
<BufferSecurityCheck>false</BufferSecurityCheck>
296300
<ConformanceMode>true</ConformanceMode>
297301
<LanguageStandard_C>stdc11</LanguageStandard_C>
302+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
303+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
304+
<OmitFramePointers>true</OmitFramePointers>
305+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
298306
</ClCompile>
299307
<Link>
300308
<SubSystem>Console</SubSystem>

libhl.vcxproj

Lines changed: 10 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>
@@ -172,6 +172,10 @@
172172
<BufferSecurityCheck>false</BufferSecurityCheck>
173173
<ConformanceMode>true</ConformanceMode>
174174
<LanguageStandard_C>stdc11</LanguageStandard_C>
175+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
176+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
177+
<OmitFramePointers>true</OmitFramePointers>
178+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
175179
</ClCompile>
176180
<Link>
177181
<SubSystem>Windows</SubSystem>
@@ -216,6 +220,10 @@
216220
<BufferSecurityCheck>false</BufferSecurityCheck>
217221
<ConformanceMode>true</ConformanceMode>
218222
<LanguageStandard_C>stdc11</LanguageStandard_C>
223+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
224+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
225+
<OmitFramePointers>true</OmitFramePointers>
226+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
219227
</ClCompile>
220228
<Link>
221229
<SubSystem>Windows</SubSystem>

libs/directx/directx.vcxproj

Lines changed: 10 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>
@@ -182,6 +182,10 @@
182182
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DIRECTX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
183183
<ConformanceMode>true</ConformanceMode>
184184
<LanguageStandard_C>stdc11</LanguageStandard_C>
185+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
186+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
187+
<OmitFramePointers>true</OmitFramePointers>
188+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
185189
</ClCompile>
186190
<Link>
187191
<SubSystem>Windows</SubSystem>
@@ -224,6 +228,10 @@
224228
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;DIRECTX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
225229
<ConformanceMode>true</ConformanceMode>
226230
<LanguageStandard_C>stdc11</LanguageStandard_C>
231+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
232+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
233+
<OmitFramePointers>true</OmitFramePointers>
234+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
227235
</ClCompile>
228236
<Link>
229237
<SubSystem>Windows</SubSystem>

libs/directx/dx12.vcxproj

Lines changed: 10 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>
@@ -144,6 +144,10 @@
144144
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DIRECTX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
145145
<ConformanceMode>true</ConformanceMode>
146146
<LanguageStandard_C>stdc11</LanguageStandard_C>
147+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
148+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
149+
<OmitFramePointers>true</OmitFramePointers>
150+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
147151
</ClCompile>
148152
<Link>
149153
<SubSystem>Windows</SubSystem>
@@ -165,6 +169,10 @@
165169
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;DIRECTX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
166170
<ConformanceMode>true</ConformanceMode>
167171
<LanguageStandard_C>stdc11</LanguageStandard_C>
172+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
173+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
174+
<OmitFramePointers>true</OmitFramePointers>
175+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
168176
</ClCompile>
169177
<Link>
170178
<SubSystem>Windows</SubSystem>

libs/directx/dx12debug.vcxproj

Lines changed: 10 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>
@@ -144,6 +144,10 @@
144144
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;DIRECTX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
145145
<ConformanceMode>true</ConformanceMode>
146146
<LanguageStandard_C>stdc11</LanguageStandard_C>
147+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
148+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
149+
<OmitFramePointers>true</OmitFramePointers>
150+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
147151
</ClCompile>
148152
<Link>
149153
<SubSystem>Windows</SubSystem>
@@ -165,6 +169,10 @@
165169
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;DIRECTX_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
166170
<ConformanceMode>true</ConformanceMode>
167171
<LanguageStandard_C>stdc11</LanguageStandard_C>
172+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
173+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
174+
<OmitFramePointers>true</OmitFramePointers>
175+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
168176
</ClCompile>
169177
<Link>
170178
<SubSystem>Windows</SubSystem>

libs/fmt/fmt.vcxproj

Lines changed: 10 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>
@@ -328,6 +328,10 @@
328328
<AdditionalOptions>/wd4996 %(AdditionalOptions)</AdditionalOptions>
329329
<ConformanceMode>true</ConformanceMode>
330330
<LanguageStandard_C>stdc11</LanguageStandard_C>
331+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
332+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
333+
<OmitFramePointers>true</OmitFramePointers>
334+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
331335
</ClCompile>
332336
<Link>
333337
<SubSystem>Windows</SubSystem>
@@ -374,6 +378,10 @@
374378
<AdditionalOptions>/wd4996 %(AdditionalOptions)</AdditionalOptions>
375379
<ConformanceMode>true</ConformanceMode>
376380
<LanguageStandard_C>stdc11</LanguageStandard_C>
381+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
382+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
383+
<OmitFramePointers>true</OmitFramePointers>
384+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
377385
</ClCompile>
378386
<Link>
379387
<SubSystem>Windows</SubSystem>

libs/heaps/heaps.vcxproj

Lines changed: 10 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>
@@ -156,6 +156,10 @@
156156
<PrecompiledHeader>NotUsing</PrecompiledHeader>
157157
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
158158
<LanguageStandard_C>stdc11</LanguageStandard_C>
159+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
160+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
161+
<OmitFramePointers>true</OmitFramePointers>
162+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
159163
</ClCompile>
160164
<Link>
161165
<SubSystem>Windows</SubSystem>
@@ -193,6 +197,10 @@
193197
<PrecompiledHeader>NotUsing</PrecompiledHeader>
194198
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
195199
<LanguageStandard_C>stdc11</LanguageStandard_C>
200+
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
201+
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
202+
<OmitFramePointers>true</OmitFramePointers>
203+
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
196204
</ClCompile>
197205
<Link>
198206
<SubSystem>Windows</SubSystem>

0 commit comments

Comments
 (0)