Skip to content

Commit e08cdae

Browse files
authored
Add ReleaseStatic configuration to WinGetServer project (#5477)
Each vcpkg port can only be installed with a single triplet at a time (in a given install directory). Since we have different triplets for static and non-static configurations, we need to ensure that all projects use the same triplet for a given solution configuration. This PR adds the ReleaseStatic configuration to the WinGetServer project and sets the solution to use that when appropriate. It also includes a bit of deduplication in the vcxproj. Having WinGetServer use the triplet for the non-static configuration when building for static, is causing errors in the internal build because it deletes some of the installed triplets that other projects later try to consume. ###### Microsoft Reviewers: [Open in CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/5477)
1 parent ce6d0d5 commit e08cdae

File tree

2 files changed

+29
-55
lines changed

2 files changed

+29
-55
lines changed

src/AppInstallerCLI.sln

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -576,12 +576,12 @@ Global
576576
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.Release|x64.Build.0 = Release|x64
577577
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.Release|x86.ActiveCfg = Release|Win32
578578
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.Release|x86.Build.0 = Release|Win32
579-
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|ARM64.ActiveCfg = Release|ARM64
580-
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|ARM64.Build.0 = Release|ARM64
581-
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|x64.ActiveCfg = Release|x64
582-
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|x64.Build.0 = Release|x64
583-
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|x86.ActiveCfg = Release|Win32
584-
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|x86.Build.0 = Release|Win32
579+
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|ARM64.ActiveCfg = ReleaseStatic|ARM64
580+
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|ARM64.Build.0 = ReleaseStatic|ARM64
581+
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|x64.ActiveCfg = ReleaseStatic|x64
582+
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|x64.Build.0 = ReleaseStatic|x64
583+
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|x86.ActiveCfg = ReleaseStatic|Win32
584+
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.ReleaseStatic|x86.Build.0 = ReleaseStatic|Win32
585585
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.TestRelease|ARM64.ActiveCfg = Release|ARM64
586586
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.TestRelease|x64.ActiveCfg = Release|x64
587587
{2B00D362-AC92-41F3-A8D2-5B1599BDCA01}.TestRelease|x86.ActiveCfg = Release|Win32

src/WinGetServer/WinGetServer.vcxproj

Lines changed: 23 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,18 @@
2929
<Configuration>Debug</Configuration>
3030
<Platform>x64</Platform>
3131
</ProjectConfiguration>
32+
<ProjectConfiguration Include="ReleaseStatic|ARM64">
33+
<Configuration>ReleaseStatic</Configuration>
34+
<Platform>ARM64</Platform>
35+
</ProjectConfiguration>
36+
<ProjectConfiguration Include="ReleaseStatic|Win32">
37+
<Configuration>ReleaseStatic</Configuration>
38+
<Platform>Win32</Platform>
39+
</ProjectConfiguration>
40+
<ProjectConfiguration Include="ReleaseStatic|x64">
41+
<Configuration>ReleaseStatic</Configuration>
42+
<Platform>x64</Platform>
43+
</ProjectConfiguration>
3244
<ProjectConfiguration Include="Release|ARM64">
3345
<Configuration>Release</Configuration>
3446
<Platform>ARM64</Platform>
@@ -54,24 +66,19 @@
5466
<UseDebugLibraries>true</UseDebugLibraries>
5567
<LinkIncremental>true</LinkIncremental>
5668
</PropertyGroup>
57-
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
69+
<PropertyGroup Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='ReleaseStatic'" Label="Configuration">
5870
<UseDebugLibraries>false</UseDebugLibraries>
5971
<WholeProgramOptimization>true</WholeProgramOptimization>
6072
<LinkIncremental>false</LinkIncremental>
6173
<SpectreMitigation>Spectre</SpectreMitigation>
6274
</PropertyGroup>
6375
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
64-
<ImportGroup Label="ExtensionSettings">
65-
</ImportGroup>
66-
<ImportGroup Label="Shared">
67-
</ImportGroup>
6876
<ImportGroup Label="PropertySheets">
6977
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
7078
</ImportGroup>
7179
<ImportGroup Label="PropertySheets">
7280
<Import Project="PropertySheet.props" />
7381
</ImportGroup>
74-
<PropertyGroup Label="UserMacros" />
7582
<PropertyGroup>
7683
<OutDir>$(SolutionDir)$(PlatformTarget)\$(Configuration)\$(ProjectName)\</OutDir>
7784
<IntDir>$(PlatformTarget)\$(Configuration)\</IntDir>
@@ -87,86 +94,53 @@
8794
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
8895
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
8996
<PreprocessorDefinitions>_CONSOLE;WIN32_LEAN_AND_MEAN;WINRT_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
97+
<LanguageStandard>stdcpp17</LanguageStandard>
9098
<WarningLevel>Level4</WarningLevel>
9199
<AdditionalOptions>%(AdditionalOptions) /permissive- /bigobj</AdditionalOptions>
92100
<TreatWarningAsError>true</TreatWarningAsError>
93101
<SDLCheck>true</SDLCheck>
94102
<EnablePREfast>true</EnablePREfast>
95103
<AdditionalIncludeDirectories>$(ProjectDir)..\WindowsPackageManager;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
104+
<RuntimeTypeInfo>false</RuntimeTypeInfo>
96105
</ClCompile>
97106
<Link>
98107
<SubSystem>Windows</SubSystem>
99108
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
100109
<AdditionalLibraryDirectories>$(OutDir)..\Microsoft.Management.Deployment;$(OutDir)..\AppInstallerCLICore;$(OutDir)..\AppInstallerRepositoryCore;$(OutDir)..\YamlCppLib;$(OutDir)..\AppInstallerCommonCore;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
101110
<AdditionalDependencies>Rpcrt4.lib;Advapi32.lib;Shell32.lib;Ole32.lib;%(AdditionalDependencies)</AdditionalDependencies>
111+
<CETCompat Condition="'$(Platform)'=='Win32' Or '$(Platform)'=='x64'">true</CETCompat>
102112
</Link>
113+
<Manifest>
114+
<AdditionalManifestFiles>$(ProjectDir)..\manifest\shared.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
115+
</Manifest>
103116
</ItemDefinitionGroup>
104117
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
105118
<ClCompile>
106119
<Optimization>Disabled</Optimization>
107120
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
108-
<LanguageStandard Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">stdcpp17</LanguageStandard>
109-
<LanguageStandard Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">stdcpp17</LanguageStandard>
110-
<RuntimeTypeInfo Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</RuntimeTypeInfo>
111-
<RuntimeTypeInfo Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</RuntimeTypeInfo>
112121
</ClCompile>
113-
<Manifest>
114-
<AdditionalManifestFiles Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(ProjectDir)..\manifest\shared.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
115-
</Manifest>
116-
<Manifest>
117-
<AdditionalManifestFiles Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)..\manifest\shared.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
118-
</Manifest>
119122
<Link>
120-
<CETCompat Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CETCompat>
123+
<CETCompat Condition="'$(Platform)'=='Win32' Or '$(Platform)'=='x64'">true</CETCompat>
121124
</Link>
122125
</ItemDefinitionGroup>
123126
<ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
124127
<ClCompile>
125128
<PreprocessorDefinitions>WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
126-
<LanguageStandard Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">stdcpp17</LanguageStandard>
127-
<RuntimeTypeInfo Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</RuntimeTypeInfo>
128129
</ClCompile>
129-
<Manifest>
130-
<AdditionalManifestFiles Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\manifest\shared.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
131-
</Manifest>
132-
<Link>
133-
<CETCompat Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CETCompat>
134-
</Link>
135130
</ItemDefinitionGroup>
136-
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
131+
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='ReleaseStatic'">
137132
<ClCompile>
138133
<Optimization>MaxSpeed</Optimization>
139134
<FunctionLevelLinking>true</FunctionLevelLinking>
140135
<IntrinsicFunctions>true</IntrinsicFunctions>
141136
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
142-
<LanguageStandard Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">stdcpp17</LanguageStandard>
143-
<LanguageStandard Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">stdcpp17</LanguageStandard>
144-
<LanguageStandard Condition="'$(Configuration)|$(Platform)'=='Release|x64'">stdcpp17</LanguageStandard>
145-
<RuntimeTypeInfo Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</RuntimeTypeInfo>
146-
<RuntimeTypeInfo Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</RuntimeTypeInfo>
147-
<RuntimeTypeInfo Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</RuntimeTypeInfo>
148-
<ControlFlowGuard Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Guard</ControlFlowGuard>
149-
<ControlFlowGuard Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Guard</ControlFlowGuard>
150-
<ControlFlowGuard Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">Guard</ControlFlowGuard>
137+
<ControlFlowGuard>Guard</ControlFlowGuard>
151138
</ClCompile>
152139
<Link>
153140
<EnableCOMDATFolding>true</EnableCOMDATFolding>
154141
<OptimizeReferences>true</OptimizeReferences>
155-
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">/debug:full /debugtype:cv,fixup /incremental:no %(AdditionalOptions)</AdditionalOptions>
156-
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/debug:full /debugtype:cv,fixup /incremental:no %(AdditionalOptions)</AdditionalOptions>
157-
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/debug:full /debugtype:cv,fixup /incremental:no %(AdditionalOptions)</AdditionalOptions>
158-
<CETCompat Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CETCompat>
159-
<CETCompat Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CETCompat>
142+
<AdditionalOptions>/debug:full /debugtype:cv,fixup /incremental:no %(AdditionalOptions)</AdditionalOptions>
160143
</Link>
161-
<Manifest>
162-
<AdditionalManifestFiles Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(ProjectDir)..\manifest\shared.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
163-
</Manifest>
164-
<Manifest>
165-
<AdditionalManifestFiles Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)..\manifest\shared.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
166-
</Manifest>
167-
<Manifest>
168-
<AdditionalManifestFiles Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)..\manifest\shared.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>
169-
</Manifest>
170144
</ItemDefinitionGroup>
171145
<ItemDefinitionGroup Condition="'$(UseProdWingetServer)'=='true'">
172146
<ClCompile>

0 commit comments

Comments
 (0)