325 lines
16 KiB
XML
325 lines
16 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<PropertyGroup Label="Globals">
|
|
<ProjectGuid>{CA5CAD1A-9A12-429C-B551-8562EC954746}</ProjectGuid>
|
|
<Keyword>Win32Proj</Keyword>
|
|
<RootNamespace>TerminalApp</RootNamespace>
|
|
<ProjectName>TerminalAppLib</ProjectName>
|
|
<TargetName>TerminalAppLib</TargetName>
|
|
<WindowsTargetPlatformMinVersion>10.0.17763.0</WindowsTargetPlatformMinVersion>
|
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
|
<SubSystem>Console</SubSystem>
|
|
<OpenConsoleUniversalApp>true</OpenConsoleUniversalApp>
|
|
<!--
|
|
This is an override that, puzzlingly, _forces XBF (XAML binary) embedding_.
|
|
We have to do this to overcome a layout issue in the WAP packaging project.
|
|
When we do this, the XBF ends up in resources.pri.
|
|
-->
|
|
<DisableEmbeddedXbf>false</DisableEmbeddedXbf>
|
|
<XamlComponentResourceLocation>nested</XamlComponentResourceLocation>
|
|
</PropertyGroup>
|
|
<Import Project="..\..\..\common.openconsole.props" Condition="'$(OpenConsoleDir)'==''" />
|
|
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.pre.props" />
|
|
<Import Project="..\..\..\packages\Microsoft.Toolkit.Win32.UI.XamlApplication.6.0.0\build\native\Microsoft.Toolkit.Win32.UI.XamlApplication.props" Condition="Exists('..\..\..\packages\Microsoft.Toolkit.Win32.UI.XamlApplication.6.0.0\build\native\Microsoft.Toolkit.Win32.UI.XamlApplication.props')" />
|
|
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<!-- For CLI11: It uses dynamic_cast to cast types around, which depends
|
|
on being compiled with RTTI (/GR). -->
|
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
|
|
<!-- ========================= XAML files ======================== -->
|
|
<ItemGroup>
|
|
<!-- HERE BE DRAGONS:
|
|
For any types that use XAML information, if their .idl and .h aren't
|
|
marked DependentUpon the corresponding .xaml file, XamlTypeInfo.g.h won't
|
|
pick it up correctly. -->
|
|
<ApplicationDefinition Include="App.xaml">
|
|
<SubType>Designer</SubType>
|
|
</ApplicationDefinition>
|
|
</ItemGroup>
|
|
<!-- When we add other user controls, they should go in here as so: -->
|
|
<ItemGroup>
|
|
<Page Include="MinMaxCloseControl.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Include="TerminalPage.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Include="TitlebarControl.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Include="TabRowControl.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Include="ColorPickupFlyout.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Include="CommandPalette.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
</ItemGroup>
|
|
<!-- ========================= Headers ======================== -->
|
|
<ItemGroup>
|
|
<ClInclude Include="App.base.h" />
|
|
<ClInclude Include="AppCommandlineArgs.h" />
|
|
<ClInclude Include="Commandline.h" />
|
|
<ClInclude Include="Jumplist.h" />
|
|
<ClInclude Include="MinMaxCloseControl.h">
|
|
<DependentUpon>MinMaxCloseControl.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="TerminalPage.h">
|
|
<DependentUpon>TerminalPage.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</ClInclude>
|
|
<ClInclude Include="TitlebarControl.h">
|
|
<DependentUpon>TitlebarControl.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="TabRowControl.h">
|
|
<DependentUpon>TabRowControl.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="ColorPickupFlyout.h">
|
|
<DependentUpon>ColorPickupFlyout.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="CommandPalette.h">
|
|
<DependentUpon>CommandPalette.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="EmptyStringVisibilityConverter.h">
|
|
<DependentUpon>EmptyStringVisibilityConverter.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="HasNestedCommandsVisibilityConverter.h">
|
|
<DependentUpon>HasNestedCommandsVisibilityConverter.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="IconPathConverter.h">
|
|
<DependentUpon>IconPathConverter.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="Tab.h">
|
|
<DependentUpon>Tab.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="Pane.h" />
|
|
<ClInclude Include="ColorHelper.h" />
|
|
<ClInclude Include="TerminalSettings.h">
|
|
<DependentUpon>TerminalSettings.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="pch.h" />
|
|
<ClInclude Include="ShortcutActionDispatch.h">
|
|
<DependentUpon>ShortcutActionDispatch.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="DebugTapConnection.h" />
|
|
<ClInclude Include="AppKeyBindings.h">
|
|
<DependentUpon>AppKeyBindings.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="App.h">
|
|
<DependentUpon>App.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="AppLogic.h">
|
|
<DependentUpon>AppLogic.idl</DependentUpon>
|
|
</ClInclude>
|
|
</ItemGroup>
|
|
<!-- ========================= Cpp Files ======================== -->
|
|
<ItemGroup>
|
|
<ClCompile Include="init.cpp" />
|
|
<ClCompile Include="AppCommandlineArgs.cpp" />
|
|
<ClCompile Include="Commandline.cpp" />
|
|
<ClCompile Include="Jumplist.cpp" />
|
|
<ClCompile Include="MinMaxCloseControl.cpp">
|
|
<DependentUpon>MinMaxCloseControl.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="TerminalPage.cpp">
|
|
<DependentUpon>TerminalPage.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</ClCompile>
|
|
<ClCompile Include="TitlebarControl.cpp">
|
|
<DependentUpon>TitlebarControl.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="TabRowControl.cpp">
|
|
<DependentUpon>TabRowControl.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="ColorPickupFlyout.cpp">
|
|
<DependentUpon>ColorPickupFlyout.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="CommandPalette.cpp">
|
|
<DependentUpon>CommandPalette.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="EmptyStringVisibilityConverter.cpp">
|
|
<DependentUpon>EmptyStringVisibilityConverter.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="HasNestedCommandsVisibilityConverter.cpp">
|
|
<DependentUpon>HasNestedCommandsVisibilityConverter.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="IconPathConverter.cpp">
|
|
<DependentUpon>IconPathConverter.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="Tab.cpp">
|
|
<DependentUpon>Tab.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="Pane.cpp" />
|
|
<ClCompile Include="Pane.LayoutSizeNode.cpp" />
|
|
<ClCompile Include="ColorHelper.cpp" />
|
|
<ClCompile Include="DebugTapConnection.cpp" />
|
|
<ClCompile Include="TerminalSettings.cpp">
|
|
<DependentUpon>TerminalSettings.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="pch.cpp">
|
|
<PrecompiledHeader>Create</PrecompiledHeader>
|
|
</ClCompile>
|
|
<ClCompile Include="AppKeyBindings.cpp">
|
|
<DependentUpon>AppKeyBindings.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="ShortcutActionDispatch.cpp">
|
|
<DependentUpon>ShortcutActionDispatch.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="App.cpp">
|
|
<DependentUpon>App.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="AppActionHandlers.cpp">
|
|
<DependentUpon>App.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="AppLogic.cpp">
|
|
<DependentUpon>AppLogic.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
|
|
</ItemGroup>
|
|
<!-- ========================= idl Files ======================== -->
|
|
<ItemGroup>
|
|
<!-- If you add idl files here, make sure to include their implementation's
|
|
header in TerminalApp.vcxproj (as well as in this file) -->
|
|
<Midl Include="IDirectKeyListener.idl" />
|
|
<Midl Include="App.idl">
|
|
<DependentUpon>App.xaml</DependentUpon>
|
|
</Midl>
|
|
<Midl Include="ShortcutActionDispatch.idl" />
|
|
<Midl Include="AppKeyBindings.idl" />
|
|
<Midl Include="AppLogic.idl" />
|
|
<Midl Include="MinMaxCloseControl.idl">
|
|
<DependentUpon>MinMaxCloseControl.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Midl>
|
|
<Midl Include="TerminalPage.idl">
|
|
<DependentUpon>TerminalPage.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Midl>
|
|
<Midl Include="TitlebarControl.idl">
|
|
<DependentUpon>TitlebarControl.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Midl>
|
|
<Midl Include="TabRowControl.idl">
|
|
<DependentUpon>TabRowControl.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Midl>
|
|
<Midl Include="ColorPickupFlyout.idl">
|
|
<DependentUpon>ColorPickupFlyout.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Midl>
|
|
<Midl Include="CommandPalette.idl">
|
|
<DependentUpon>CommandPalette.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Midl>
|
|
<Midl Include="EmptyStringVisibilityConverter.idl" />
|
|
<Midl Include="HasNestedCommandsVisibilityConverter.idl" />
|
|
<Midl Include="IconPathConverter.idl" />
|
|
<Midl Include="Tab.idl" />
|
|
<Midl Include="TerminalSettings.idl" />
|
|
</ItemGroup>
|
|
<!-- ========================= Misc Files ======================== -->
|
|
<ItemGroup>
|
|
<PRIResource Include="Resources\en-US\Resources.resw" />
|
|
<OCResourceDirectory Include="Resources" />
|
|
<None Include="packages.config" />
|
|
</ItemGroup>
|
|
<!-- ========================= Project References ======================== -->
|
|
<ItemGroup>
|
|
<!--
|
|
the packaging project won't recurse through our dependencies, you have to
|
|
make sure that if you add a cppwinrt dependency to any of these projects,
|
|
you also update all the consumers
|
|
-->
|
|
<ProjectReference Include="$(OpenConsoleDir)src\types\lib\types.vcxproj" />
|
|
<ProjectReference Include="$(OpenConsoleDir)src\cascadia\WinRTUtils\WinRTUtils.vcxproj">
|
|
<Project>{CA5CAD1A-039A-4929-BA2A-8BEB2E4106FE}</Project>
|
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
|
</ProjectReference>
|
|
<!-- For whatever reason, we can't include the TerminalControl and
|
|
TerminalSettings projects' winmds via project references. So we'll have to
|
|
manually include the winmds as References below -->
|
|
</ItemGroup>
|
|
<PropertyGroup>
|
|
<!-- This is a hack to get the ARM64 CI build working. See
|
|
https://github.com/Microsoft/msbuild/issues/3746 - it looks like MsBuild
|
|
just has a bug in it.-->
|
|
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>Warning</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<!-- Manually add references to each of our dependent winmds. Mark them as
|
|
private=false and CopyLocalSatelliteAssemblies=false, so that we don't
|
|
propagate them upwards (which can make referencing this project result in
|
|
duplicate type definitions)-->
|
|
<Reference Include="Microsoft.Terminal.TerminalConnection">
|
|
<HintPath>$(OpenConsoleCommonOutDir)TerminalConnection\Microsoft.Terminal.TerminalConnection.winmd</HintPath>
|
|
<IsWinMDFile>true</IsWinMDFile>
|
|
<Private>false</Private>
|
|
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
|
</Reference>
|
|
<Reference Include="Microsoft.Terminal.TerminalControl">
|
|
<HintPath>$(OpenConsoleCommonOutDir)TerminalControl\Microsoft.Terminal.TerminalControl.winmd</HintPath>
|
|
<IsWinMDFile>true</IsWinMDFile>
|
|
<Private>false</Private>
|
|
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
|
</Reference>
|
|
<Reference Include="Microsoft.Terminal.Settings.Model">
|
|
<HintPath>$(OpenConsoleCommonOutDir)Microsoft.Terminal.Settings.Model\Microsoft.Terminal.Settings.Model.winmd</HintPath>
|
|
<IsWinMDFile>true</IsWinMDFile>
|
|
<Private>false</Private>
|
|
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
|
</Reference>
|
|
</ItemGroup>
|
|
<!-- ====================== Compiler & Linker Flags ===================== -->
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
|
<AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories);</AdditionalIncludeDirectories>
|
|
<!-- Manually disable unreachable code warning, because jconcpp has a ton of that. -->
|
|
<DisableSpecificWarnings>4702;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalDependencies>WindowsApp.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<!-- ========================= Globals ======================== -->
|
|
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.post.props" />
|
|
|
|
<Import Project="..\..\..\packages\Microsoft.UI.Xaml.2.5.0-prerelease.200609001\build\native\Microsoft.UI.Xaml.targets" Condition="Exists('..\..\..\packages\Microsoft.UI.Xaml.2.5.0-prerelease.200609001\build\native\Microsoft.UI.Xaml.targets')" />
|
|
<Import Project="..\..\..\packages\Microsoft.Toolkit.Win32.UI.XamlApplication.6.0.0\build\native\Microsoft.Toolkit.Win32.UI.XamlApplication.targets" Condition="Exists('..\..\..\packages\Microsoft.Toolkit.Win32.UI.XamlApplication.6.0.0\build\native\Microsoft.Toolkit.Win32.UI.XamlApplication.targets')" />
|
|
<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('$(OpenConsoleDir)\packages\Microsoft.UI.Xaml.2.5.0-prerelease.200609001\build\native\Microsoft.UI.Xaml.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(OpenConsoleDir)\packages\Microsoft.UI.Xaml.2.5.0-prerelease.200609001\build\native\Microsoft.UI.Xaml.targets'))" />
|
|
<Error Condition="!Exists('$(OpenConsoleDir)\packages\Microsoft.Toolkit.Win32.UI.XamlApplication.6.0.0\build\native\Microsoft.Toolkit.Win32.UI.XamlApplication.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(OpenConsoleDir)\packages\Microsoft.Toolkit.Win32.UI.XamlApplication.6.0.0\build\native\Microsoft.Toolkit.Win32.UI.XamlApplication.targets'))" />
|
|
</Target>
|
|
|
|
<!--
|
|
By default, the PRI file will contain resource paths beginning with the
|
|
project name. Since we enabled XBF embedding, this *also* includes App.xbf.
|
|
Well, App.xbf is hardcoded by the framework to be found at the resource ROOT.
|
|
To make that happen, we have to disable the prepending of the project name
|
|
to the App xaml files.
|
|
-->
|
|
<PropertyGroup>
|
|
<_GenerateProjectPriFileDependsOn>OpenConsolePlaceAppXbfAtRootOfResourceTree;$(_GenerateProjectPriFileDependsOn)</_GenerateProjectPriFileDependsOn>
|
|
</PropertyGroup>
|
|
<Target Name="OpenConsolePlaceAppXbfAtRootOfResourceTree" DependsOnTargets="GetPackagingOutputs">
|
|
<ItemGroup>
|
|
<_RelocatedAppXamlData Include="@(PackagingOutputs)" Condition="'%(Filename)' == 'App' and ('%(Extension)' == '.xaml' or '%(Extension)' == '.xbf')" />
|
|
<PackagingOutputs Remove="@(_RelocatedAppXamlData)" />
|
|
<PackagingOutputs Include="@(_RelocatedAppXamlData)">
|
|
<TargetPath>%(Filename)%(Extension)</TargetPath>
|
|
</PackagingOutputs>
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Import Project="$(SolutionDir)build\rules\CollectWildcardResources.targets" />
|
|
</Project>
|