Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 17 additions & 8 deletions Build/libHttpClient.GDK.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<Platform>Gaming.Desktop.x64</Platform>
</ProjectConfiguration>

<!-- Plain x64 configurations enable migration toward standard platform naming while retaining GDK libraries -->
<!-- Plain x64/ARM64 configurations enable migration toward standard platform naming while retaining GDK libraries -->
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
Expand All @@ -24,6 +24,14 @@
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>

<PropertyGroup Label="Globals">
Expand Down Expand Up @@ -69,22 +77,22 @@
</PropertyGroup>

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

<!-- When using plain x64 platform name, set paths manually -->
<PropertyGroup Condition="'$(Platform)'=='x64'">
<GDKLibPath Condition="'$(GDKLibPath)'==''">$(GDKCrossPlatformPath)windows\lib\x64</GDKLibPath>
<PropertyGroup Condition="'$(Platform)'=='x64' OR '$(Platform)'=='ARM64'">
<GDKLibPath Condition="'$(GDKLibPath)'==''">$(GDKCrossPlatformPath)windows\lib\$(Platform)</GDKLibPath>
<GDKIncludeRoot Condition="'$(GDKIncludeRoot)'==''">$(GDKCrossPlatformPath)windows\include</GDKIncludeRoot>
<LibraryPath>$(GDKLibPath);$(LibraryPath)</LibraryPath>
<IncludePath>$(GDKIncludeRoot);$(IncludePath)</IncludePath>
</PropertyGroup>

<PropertyGroup Condition="'$(Platform)'!='x64'">
<PropertyGroup Condition="'$(Platform)'!='x64' AND '$(Platform)'!='ARM64'">
<LibraryPath>$(Console_SdkLibPath);$(LibraryPath)</LibraryPath>
<IncludePath>$(Console_SdkIncludeRoot);$(IncludePath)</IncludePath>
</PropertyGroup>
Expand All @@ -98,10 +106,10 @@
<SupportJustMyCode>false</SupportJustMyCode>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<PreprocessorDefinitions>__WRL_NO_DEFAULT_LIB__;_LIB;$(libHttpClientDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories Condition="'$(Platform)'!='x64'">%(AdditionalIncludeDirectories);$(GDKCrossPlatformPath)GRDK\ExtensionLibraries\Xbox.XCurl.API\Include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Platform)'!='x64' AND '$(Platform)'!='ARM64'">%(AdditionalIncludeDirectories);$(GDKCrossPlatformPath)GRDK\ExtensionLibraries\Xbox.XCurl.API\Include</AdditionalIncludeDirectories>
<ControlFlowGuard>Guard</ControlFlowGuard>
<AdditionalOptions>/Zc:__cplusplus /ZH:SHA_256 /bigobj /Zi %(AdditionalOptions)</AdditionalOptions>
<PreprocessorDefinitions Condition="'$(Platform)'=='x64'">HC_PLATFORM=HC_PLATFORM_GDK;HC_DATAMODEL=HC_DATAMODEL_LLP64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Platform)'=='x64' OR '$(Platform)'=='ARM64'">HC_PLATFORM=HC_PLATFORM_GDK;HC_DATAMODEL=HC_DATAMODEL_LLP64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
Expand All @@ -111,7 +119,8 @@
<FullProgramDatabaseFile Condition="'$(Configuration)'=='Debug'">true</FullProgramDatabaseFile>
<AdditionalDependencies>$(Console_Libs);%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies Condition="'$(Platform)'=='x64'">xgameruntime.lib;XCurl.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<AdditionalDependencies Condition="'$(Platform)'=='ARM64'">xgameruntime.lib;%(AdditionalDependencies)</AdditionalDependencies>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only for my personal learning, why is it that we don't need XCurl.lib in ARM64 platform?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

XCurl is optional and always delay-loaded on Windows, so no implib is required. Plus, at the time I did this, there was no ARM64 version of XCurl anyway (though there is now).

</Link>
<Lib>
<AdditionalOptions>/ignore:4099 /ignore:4264 %(AdditionalOptions)</AdditionalOptions>
</Lib>
Expand Down
2 changes: 1 addition & 1 deletion Build/libHttpClient.GDK/libHttpClient.GDK.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Gaming.Desktop.x64'">/Zi /guard:cf %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<CETCompat>true</CETCompat>
<CETCompat Condition="'$(Platform)'=='x64'">true</CETCompat>
</Link>
</ItemDefinitionGroup>
<Import Project="$(HCBuildRoot)\libHttpClient.Common\libHttpClient.Common.vcxitems" Label="Shared" />
Expand Down
16 changes: 8 additions & 8 deletions libHttpClient.vs2022.sln
Original file line number Diff line number Diff line change
Expand Up @@ -111,14 +111,16 @@ Global
{9164C6C9-3872-4922-A3E3-3822622D3E71}.Release|x86.ActiveCfg = Release|Win32
{9164C6C9-3872-4922-A3E3-3822622D3E71}.Release|x86.Build.0 = Release|Win32
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|ARM64.ActiveCfg = Debug|ARM64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|ARM64.Build.0 = Debug|ARM64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|x64.ActiveCfg = Debug|x64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|x64.Build.0 = Debug|x64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|ARM64.ActiveCfg = Release|ARM64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|ARM64.Build.0 = Release|ARM64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64
{0A6D51A3-0D86-4D0E-9DAA-54BA75E1DA1C}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64
Expand Down Expand Up @@ -343,33 +345,31 @@ Global
{E35BA8A1-AE7B-4FB5-8200-469B98BC1CA8}.Release|x86.Build.0 = Release|Win32
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM.Build.0 = Debug|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM64.Build.0 = Debug|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM64.ActiveCfg = Debug|ARM64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|ARM64.Build.0 = Debug|ARM64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|x64.ActiveCfg = Debug|x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|x64.Build.0 = Debug|x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM.Build.0 = Release|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM64.Build.0 = Release|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM64.ActiveCfg = Release|ARM64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|ARM64.Build.0 = Release|ARM64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64
{A5A6E02A-21BA-4D55-9FB9-7B24DEDD3743}.Release|x86.ActiveCfg = Release|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|ARM.ActiveCfg = Debug|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|ARM.Build.0 = Debug|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|ARM64.ActiveCfg = Debug|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|ARM64.Build.0 = Debug|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|Gaming.Desktop.x64.ActiveCfg = Debug|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|Gaming.Desktop.x64.Build.0 = Debug|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|x64.ActiveCfg = Debug|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Debug|x86.ActiveCfg = Debug|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|ARM.ActiveCfg = Release|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|ARM.Build.0 = Release|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|ARM64.ActiveCfg = Release|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|ARM64.Build.0 = Release|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|Gaming.Desktop.x64.ActiveCfg = Release|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|Gaming.Desktop.x64.Build.0 = Release|Gaming.Desktop.x64
{30B33C66-4755-4E79-A518-0E4137A58BEA}.Release|x64.ActiveCfg = Release|Gaming.Desktop.x64
Expand Down
Loading