58f5d7c72e
* Update _TerminalCursorPositionChanged to use ThrottledFunc. * Rename previous ThrottledFunc to ThrottledArgFunc because now ThrottledFunc is for functions that do not take an argument. * Update ThrottledFunc and ThrottledArgFunc to accept a CoreDispatcher on which the function should be called for convenience. * Don't use coroutines/winrt::fire_and_forget in ThrottledFunc/ThrottledArgFunc because they are too slow (see PR). _AdjustCursorPosition went from 17% of samples to 3% in performance testing.
142 lines
6.4 KiB
XML
142 lines
6.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<PropertyGroup Label="Globals">
|
|
<ProjectGuid>{CA5CAD1A-44BD-4AC7-AC72-6CA5B3AB89ED}</ProjectGuid>
|
|
<ProjectName>TerminalControl</ProjectName>
|
|
<RootNamespace>Microsoft.Terminal.TerminalControl</RootNamespace>
|
|
<!-- cppwinrt.build.pre.props depends on these settings: -->
|
|
<!-- build a dll, not exe (Application) -->
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
<SubSystem>Console</SubSystem>
|
|
<!-- sets a bunch of Windows Universal properties -->
|
|
<OpenConsoleUniversalApp>true</OpenConsoleUniversalApp>
|
|
<!-- C++/WinRT sets the depth to 1 if there is a XAML file in the project
|
|
Unfortunately for us, we need it to be 3. When the namespace merging
|
|
depth is 1, Microsoft.Terminal.TerminalControl becomes "Microsoft",
|
|
and our WinMD file becomes "Microsoft". Because WinRT is very
|
|
namespace-driven, this winmd is considered to contain the entire
|
|
Microsoft namespace. This is, obviously, not great. None of our other
|
|
projects compile properly when they depend on this "Microsoft.winmd."
|
|
-->
|
|
<CppWinRTNamespaceMergeDepth>3</CppWinRTNamespaceMergeDepth>
|
|
|
|
<!--
|
|
DON'T REDIRECT OUR OUTPUT.
|
|
Setting this will tell cppwinrt.build.post.props to copy our output from
|
|
the default OutDir up one level, so the wapproj will be able to find it.
|
|
-->
|
|
<NoOutputRedirection>true</NoOutputRedirection>
|
|
<XamlComponentResourceLocation>nested</XamlComponentResourceLocation>
|
|
</PropertyGroup>
|
|
|
|
<Import Project="..\..\..\common.openconsole.props" Condition="'$(OpenConsoleDir)'==''" />
|
|
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.pre.props" />
|
|
|
|
<ItemGroup>
|
|
<ClInclude Include="pch.h" />
|
|
<ClInclude Include="SearchBoxControl.h">
|
|
<DependentUpon>SearchBoxControl.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="TermControl.h">
|
|
<DependentUpon>TermControl.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="TermControlAutomationPeer.h">
|
|
<DependentUpon>TermControlAutomationPeer.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="ThrottledFunc.h" />
|
|
<ClInclude Include="TSFInputControl.h">
|
|
<DependentUpon>TSFInputControl.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="XamlUiaTextRange.h" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="pch.cpp">
|
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
|
</ClCompile>
|
|
<ClCompile Include="init.cpp" />
|
|
<ClCompile Include="SearchBoxControl.cpp">
|
|
<DependentUpon>SearchBoxControl.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="TermControl.cpp">
|
|
<DependentUpon>TermControl.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="ThrottledFunc.cpp" />
|
|
<ClCompile Include="TSFInputControl.cpp">
|
|
<DependentUpon>TSFInputControl.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
|
|
<ClCompile Include="TermControlAutomationPeer.cpp">
|
|
<DependentUpon>TermControlAutomationPeer.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="XamlUiaTextRange.cpp" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Midl Include="SearchBoxControl.idl">
|
|
<DependentUpon>SearchBoxControl.xaml</DependentUpon>
|
|
</Midl>
|
|
<Midl Include="TermControl.idl">
|
|
<DependentUpon>TermControl.xaml</DependentUpon>
|
|
</Midl>
|
|
<Midl Include="TermControlAutomationPeer.idl" />
|
|
<Midl Include="IMouseWheelListener.idl" />
|
|
<Midl Include="TSFInputControl.idl">
|
|
<DependentUpon>TSFInputControl.xaml</DependentUpon>
|
|
</Midl>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<None Include="packages.config" />
|
|
<None Include="TerminalControl.def" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<PRIResource Include="Resources\en-US\Resources.resw" />
|
|
<OCResourceDirectory Include="Resources" />
|
|
</ItemGroup>
|
|
<!-- ========================= Project References ======================== -->
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\types\lib\types.vcxproj" />
|
|
<ProjectReference Include="..\..\buffer\out\lib\bufferout.vcxproj" />
|
|
<ProjectReference Include="$(OpenConsoleDir)src\renderer\base\lib\base.vcxproj" />
|
|
<ProjectReference Include="..\..\renderer\dx\lib\dx.vcxproj" />
|
|
<ProjectReference Include="..\..\renderer\uia\lib\uia.vcxproj" />
|
|
<ProjectReference Include="..\..\terminal\parser\lib\parser.vcxproj" />
|
|
<ProjectReference Include="$(OpenConsoleDir)src\terminal\input\lib\terminalinput.vcxproj" />
|
|
<ProjectReference Include="$(OpenConsoleDir)src\cascadia\TerminalSettings\TerminalSettings.vcxproj">
|
|
<Private>false</Private>
|
|
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
|
</ProjectReference>
|
|
<ProjectReference Include="$(OpenConsoleDir)src\cascadia\TerminalCore\lib\TerminalCore-lib.vcxproj" />
|
|
<ProjectReference Include="$(OpenConsoleDir)src\cascadia\TerminalConnection\TerminalConnection.vcxproj">
|
|
<Private>false</Private>
|
|
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
|
</ProjectReference>
|
|
<ProjectReference Include="$(OpenConsoleDir)src\cascadia\WinRTUtils\WinRTUtils.vcxproj">
|
|
<Project>{CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}</Project>
|
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
|
</ProjectReference>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Page Include="SearchBoxControl.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Include="TermControl.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Include="TSFInputControl.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
</ItemGroup>
|
|
|
|
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.post.props" />
|
|
|
|
<ItemDefinitionGroup>
|
|
<Link>
|
|
<AdditionalDependencies>dwrite.lib;dxgi.lib;d2d1.lib;d3d11.lib;shcore.lib;winmm.lib;pathcch.lib;propsys.lib;uiautomationcore.lib;Shlwapi.lib;ntdll.lib;user32.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
</Link>
|
|
<ClCompile>
|
|
<AdditionalIncludeDirectories>$(OpenConsoleDir)src\cascadia\inc;$(OpenConsoleDir)src\types\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
|
|
<Import Project="$(SolutionDir)build\rules\CollectWildcardResources.targets" />
|
|
</Project>
|