mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-02-23 19:49:43 +01:00
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request <!-- Please review the items on the PR checklist before submitting--> Hybrid CRT across powertoys for better bundle size ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Bundle Size comparasion: | bundle | Before Hybrid CRT | After Hybrid CRT | diff | |---------------|-------------------|------------------|------| | x64-user | 317M | 310M | 7M | | x64-machine | 317M |310M | 7M | | arm64-user | 305M | 299M | 6M | | arm64-machine | 305M | 299M | 6M | Did verification on a sandbox machine, every module launches as expected, no dependency issue
144 lines
7.1 KiB
XML
144 lines
7.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Import Project="..\..\..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('..\..\..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props')" />
|
|
<PropertyGroup Label="Globals">
|
|
<CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
|
|
<CppWinRTGenerateWindowsMetadata>true</CppWinRTGenerateWindowsMetadata>
|
|
<ProjectGuid>{2cf78cf7-8feb-4be1-9591-55fa25b48fc6}</ProjectGuid>
|
|
<ProjectName>CalculatorEngineCommon</ProjectName>
|
|
<RootNamespace>CalculatorEngineCommon</RootNamespace>
|
|
<AppxPackage>false</AppxPackage>
|
|
</PropertyGroup>
|
|
<!-- BEGIN cppwinrt.build.pre.props -->
|
|
<PropertyGroup Label="Globals">
|
|
<CppWinRTEnabled>true</CppWinRTEnabled>
|
|
<CppWinRTOptimized>true</CppWinRTOptimized>
|
|
<DefaultLanguage>en-US</DefaultLanguage>
|
|
<MinimumVisualStudioVersion>17.0</MinimumVisualStudioVersion>
|
|
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<MinimalCoreWin>true</MinimalCoreWin>
|
|
<AppContainerApplication>false</AppContainerApplication>
|
|
<WindowsStoreApp>true</WindowsStoreApp>
|
|
<ApplicationType>Windows Store</ApplicationType>
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<!-- We have to use the Desktop platform for Hybrid CRT to work. -->
|
|
<_VC_Target_Library_Platform>Desktop</_VC_Target_Library_Platform>
|
|
<_NoWinAPIFamilyApp>true</_NoWinAPIFamilyApp>
|
|
</PropertyGroup>
|
|
<!-- END cppwinrt.build.pre.props -->
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
<PropertyGroup Label="Configuration">
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
<PlatformToolset>v143</PlatformToolset>
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
<GenerateManifest>false</GenerateManifest>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
|
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
<LinkIncremental>true</LinkIncremental>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
<LinkIncremental>false</LinkIncremental>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
<ImportGroup Label="ExtensionSettings">
|
|
</ImportGroup>
|
|
<ImportGroup Label="Shared">
|
|
</ImportGroup>
|
|
<ImportGroup Label="PropertySheets">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
</ImportGroup>
|
|
<ImportGroup Label="PropertySheets">
|
|
<Import Project="PropertySheet.props" />
|
|
</ImportGroup>
|
|
<PropertyGroup>
|
|
<TargetName>CalculatorEngineCommon</TargetName>
|
|
<OutDir>..\..\..\$(Platform)\$(Configuration)\</OutDir>
|
|
</PropertyGroup>
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
|
<WarningLevel>Level4</WarningLevel>
|
|
<AdditionalOptions>%(AdditionalOptions) /bigobj</AdditionalOptions>
|
|
<PreprocessorDefinitions>_WINRT_DLL;WINRT_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<AdditionalIncludeDirectories>../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
|
</ClCompile>
|
|
<Link>
|
|
<SubSystem>Console</SubSystem>
|
|
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
|
|
<ModuleDefinitionFile>CalculatorEngineCommon.def</ModuleDefinitionFile>
|
|
<AdditionalDependencies>Shell32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
|
<ClCompile>
|
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
|
<ClCompile>
|
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link>
|
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
<OptimizeReferences>true</OptimizeReferences>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\version\version.vcxproj">
|
|
<Project>{cc6e41ac-8174-4e8a-8d22-85dd7f4851df}</Project>
|
|
</ProjectReference>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include="ExprtkEvaluator.h" />
|
|
<ClInclude Include="pch.h" />
|
|
<ClInclude Include="exprtk.hpp" />
|
|
<ClInclude Include="Calculator.h">
|
|
<DependentUpon>Calculator.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="resource.h" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="ExprtkEvaluator.cpp">
|
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
|
</ClCompile>
|
|
<ClCompile Include="pch.cpp">
|
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
|
</ClCompile>
|
|
<ClCompile Include="Calculator.cpp">
|
|
<DependentUpon>Calculator.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Midl Include="Calculator.idl" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<None Include="packages.config" />
|
|
<None Include="CalculatorEngineCommon.def" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<None Include="PropertySheet.props" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ResourceCompile Include="CalculatorEngineCommon.rc" />
|
|
</ItemGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
<Import Project="..\..\..\deps\spdlog.props" />
|
|
<ImportGroup Label="ExtensionTargets">
|
|
<Import Project="..\..\..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('..\..\..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets')" />
|
|
</ImportGroup>
|
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
|
<PropertyGroup>
|
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
|
</PropertyGroup>
|
|
<Error Condition="!Exists('..\..\..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props'))" />
|
|
<Error Condition="!Exists('..\..\..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets'))" />
|
|
</Target> <!-- END common.build.post.props -->
|
|
</Project> |