Skip to content

Commit 49d853e

Browse files
authored
VS 2022 SLN builds Debug and Release for ARM64 (#919)
* Build ARM64 similarly to x64 in all cases. * Pipeline change to use VS 2022 to build ARM64 will be done separately.
1 parent 79d67fb commit 49d853e

3 files changed

Lines changed: 26 additions & 17 deletions

File tree

Build/libHttpClient.GDK.props

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<Platform>Gaming.Desktop.x64</Platform>
1616
</ProjectConfiguration>
1717

18-
<!-- Plain x64 configurations enable migration toward standard platform naming while retaining GDK libraries -->
18+
<!-- Plain x64/ARM64 configurations enable migration toward standard platform naming while retaining GDK libraries -->
1919
<ProjectConfiguration Include="Debug|x64">
2020
<Configuration>Debug</Configuration>
2121
<Platform>x64</Platform>
@@ -24,6 +24,14 @@
2424
<Configuration>Release</Configuration>
2525
<Platform>x64</Platform>
2626
</ProjectConfiguration>
27+
<ProjectConfiguration Include="Debug|ARM64">
28+
<Configuration>Debug</Configuration>
29+
<Platform>ARM64</Platform>
30+
</ProjectConfiguration>
31+
<ProjectConfiguration Include="Release|ARM64">
32+
<Configuration>Release</Configuration>
33+
<Platform>ARM64</Platform>
34+
</ProjectConfiguration>
2735
</ItemGroup>
2836

2937
<PropertyGroup Label="Globals">
@@ -69,22 +77,22 @@
6977
</PropertyGroup>
7078

7179
<!-- GDK path validation -->
72-
<Target Name="GDKEditionCheck" BeforeTargets="PrepareForBuild" Condition="'$(Platform)'=='x64'">
80+
<Target Name="GDKEditionCheck" BeforeTargets="PrepareForBuild" Condition="'$(Platform)'=='x64' OR '$(Platform)'=='ARM64'">
7381
<Error Condition="'$(GDKCrossPlatformPath)'==''" Text="GameDKCoreLatest or GameDKXboxLatest or GameDKLatest environment variable is required" />
7482
<Error Condition="!HasTrailingSlash('$(GDKCrossPlatformPath)')" Text="GDKCrossPlatformPath property must have trailing slash" />
7583
<Error Condition="!Exists('$(GDKCrossPlatformPath)windows')" Text="GDKCrossPlatformPath needs to point to the October 2025 GDK or later" />
7684
<Message Importance="high" Text="Using $(GDKCrossPlatformPath)" />
7785
</Target>
7886

7987
<!-- When using plain x64 platform name, set paths manually -->
80-
<PropertyGroup Condition="'$(Platform)'=='x64'">
81-
<GDKLibPath Condition="'$(GDKLibPath)'==''">$(GDKCrossPlatformPath)windows\lib\x64</GDKLibPath>
88+
<PropertyGroup Condition="'$(Platform)'=='x64' OR '$(Platform)'=='ARM64'">
89+
<GDKLibPath Condition="'$(GDKLibPath)'==''">$(GDKCrossPlatformPath)windows\lib\$(Platform)</GDKLibPath>
8290
<GDKIncludeRoot Condition="'$(GDKIncludeRoot)'==''">$(GDKCrossPlatformPath)windows\include</GDKIncludeRoot>
8391
<LibraryPath>$(GDKLibPath);$(LibraryPath)</LibraryPath>
8492
<IncludePath>$(GDKIncludeRoot);$(IncludePath)</IncludePath>
8593
</PropertyGroup>
8694

87-
<PropertyGroup Condition="'$(Platform)'!='x64'">
95+
<PropertyGroup Condition="'$(Platform)'!='x64' AND '$(Platform)'!='ARM64'">
8896
<LibraryPath>$(Console_SdkLibPath);$(LibraryPath)</LibraryPath>
8997
<IncludePath>$(Console_SdkIncludeRoot);$(IncludePath)</IncludePath>
9098
</PropertyGroup>
@@ -98,10 +106,10 @@
98106
<SupportJustMyCode>false</SupportJustMyCode>
99107
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
100108
<PreprocessorDefinitions>__WRL_NO_DEFAULT_LIB__;_LIB;$(libHttpClientDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
101-
<AdditionalIncludeDirectories Condition="'$(Platform)'!='x64'">%(AdditionalIncludeDirectories);$(GDKCrossPlatformPath)GRDK\ExtensionLibraries\Xbox.XCurl.API\Include</AdditionalIncludeDirectories>
109+
<AdditionalIncludeDirectories Condition="'$(Platform)'!='x64' AND '$(Platform)'!='ARM64'">%(AdditionalIncludeDirectories);$(GDKCrossPlatformPath)GRDK\ExtensionLibraries\Xbox.XCurl.API\Include</AdditionalIncludeDirectories>
102110
<ControlFlowGuard>Guard</ControlFlowGuard>
103111
<AdditionalOptions>/Zc:__cplusplus /ZH:SHA_256 /bigobj /Zi %(AdditionalOptions)</AdditionalOptions>
104-
<PreprocessorDefinitions Condition="'$(Platform)'=='x64'">HC_PLATFORM=HC_PLATFORM_GDK;HC_DATAMODEL=HC_DATAMODEL_LLP64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
112+
<PreprocessorDefinitions Condition="'$(Platform)'=='x64' OR '$(Platform)'=='ARM64'">HC_PLATFORM=HC_PLATFORM_GDK;HC_DATAMODEL=HC_DATAMODEL_LLP64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
105113
<LanguageStandard>stdcpp17</LanguageStandard>
106114
</ClCompile>
107115
<Link>
@@ -111,7 +119,8 @@
111119
<FullProgramDatabaseFile Condition="'$(Configuration)'=='Debug'">true</FullProgramDatabaseFile>
112120
<AdditionalDependencies>$(Console_Libs);%(AdditionalDependencies)</AdditionalDependencies>
113121
<AdditionalDependencies Condition="'$(Platform)'=='x64'">xgameruntime.lib;XCurl.lib;%(AdditionalDependencies)</AdditionalDependencies>
114-
</Link>
122+
<AdditionalDependencies Condition="'$(Platform)'=='ARM64'">xgameruntime.lib;%(AdditionalDependencies)</AdditionalDependencies>
123+
</Link>
115124
<Lib>
116125
<AdditionalOptions>/ignore:4099 /ignore:4264 %(AdditionalOptions)</AdditionalOptions>
117126
</Lib>

Build/libHttpClient.GDK/libHttpClient.GDK.vcxproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'">/Zi /guard:cf %(AdditionalOptions)</AdditionalOptions>
3333
</ClCompile>
3434
<Link>
35-
<CETCompat>true</CETCompat>
35+
<CETCompat Condition="'$(Platform)'=='x64'">true</CETCompat>
3636
</Link>
3737
</ItemDefinitionGroup>
3838
<Import Project="$(HCBuildRoot)\libHttpClient.Common\libHttpClient.Common.vcxitems" Label="Shared" />

libHttpClient.vs2022.sln

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,16 @@ Global
111111
{9164C6C9-3872-4922-A3E3-3822622D3E71}.Release|x86.ActiveCfg = Release|Win32
112112
{9164C6C9-3872-4922-A3E3-3822622D3E71}.Release|x86.Build.0 = Release|Win32
113113
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64
114-
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64
114+
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|ARM64.ActiveCfg = Debug|ARM64
115+
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|ARM64.Build.0 = Debug|ARM64
115116
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64
116117
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64
117118
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|x64.ActiveCfg = Debug|x64
118119
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|x64.Build.0 = Debug|x64
119120
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64
120121
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64
121-
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64
122+
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|ARM64.ActiveCfg = Release|ARM64
123+
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|ARM64.Build.0 = Release|ARM64
122124
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64
123125
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64
124126
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64
@@ -343,33 +345,31 @@ Global
343345
{E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|x86.Build.0 = Release|Win32
344346
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64
345347
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM.Build.0 = Debug|Gaming.Desktop.x64
346-
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64
347-
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM64.Build.0 = Debug|Gaming.Desktop.x64
348+
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM64.ActiveCfg = Debug|ARM64
349+
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM64.Build.0 = Debug|ARM64
348350
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64
349351
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64
350352
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|x64.ActiveCfg = Debug|x64
351353
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|x64.Build.0 = Debug|x64
352354
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64
353355
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64
354356
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM.Build.0 = Release|Gaming.Desktop.x64
355-
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64
356-
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM64.Build.0 = Release|Gaming.Desktop.x64
357+
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM64.ActiveCfg = Release|ARM64
358+
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM64.Build.0 = Release|ARM64
357359
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64
358360
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64
359361
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64
360362
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|x86.ActiveCfg = Release|Gaming.Desktop.x64
361363
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64
362364
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|ARM.Build.0 = Debug|Gaming.Desktop.x64
363365
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64
364-
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|ARM64.Build.0 = Debug|Gaming.Desktop.x64
365366
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64
366367
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64
367368
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|x64.ActiveCfg = Debug|Gaming.Desktop.x64
368369
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64
369370
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64
370371
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|ARM.Build.0 = Release|Gaming.Desktop.x64
371372
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64
372-
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|ARM64.Build.0 = Release|Gaming.Desktop.x64
373373
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64
374374
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64
375375
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64

0 commit comments

Comments
 (0)