a98d18c030
I'm working on making the FastUpToDate check in Vs work for the Terminal project. This is one of a few PRs in this area. FastUpToDate lets vs check quickly determine that it doesn't need to do anything for a given project. However, a few of our projects don't produce all the right artifacts, or check too many things, and this eventually causes the `wapproj` to rebuild, EVERY TIME YOU F5 in VS. This second PR deals with some projects MYSTERIOUSLY depending on the `.xaml` files from `Terminal.Control`, even when they by all accounts shouldn't. TerminalSettingsModel ISN'T EVEN A XAML project, so I have no idea why it thinks it needs these xaml files. The TerminalAppLib project thinking it needs them - makes more sense, but is still confusing. Below are my verbatim notes, which led to the solution in this PR. ``` 34>------ Up-To-Date check: Project: Microsoft.Terminal.Settings.Model.Lib, Configuration: Debug x64 ------ 34>Project is not up-to-date: build output 'c:\users\migrie\dev\public\terminal\bin\x64\debug\microsoft.terminal.settings.model.lib\microsoft.terminal.control\searchboxcontrol.xaml' is missing ``` * Just copying the xaml files from `bin\x64\debug\microsoft.terminal.control\microsoft.terminal.control\*.xaml` to `bin\x64\debug\microsoft.terminal.settings.model.lib\microsoft.terminal.control` seemed to fix this. * the .xbfs were already there * It's very unclear why these were ever needed? They aren't used in the build for `Microsoft.Terminal.Settings.Model.Lib`. They aren't copied as a part of the build either - no .xaml files are copied at all in fact * [ ] Does TSE have these .xamls in it's output? * UPDATE: checking out main, and building again - ran into this again. WHY?? * Cleaned again, then built TerminalApp.vcxproj. File is no longer needed? nothing makes sense. * `obj\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsof.CA5CAD1A.tlog\Microsoft.Terminal.Settings.Model.Lib.write.1u.tlog`: ``` C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\SearchBoxControl.xbf C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\TermControl.xbf C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\TSFInputControl.xbf C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.UI.Xaml\Assets\NoiseAsset_256X256_PNG.png C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\SearchBoxControl.xbf C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\TermControl.xbf C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\TSFInputControl.xbf C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\SearchBoxControl.xbf C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\TermControl.xbf C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\TSFInputControl.xbf C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\SearchBoxControl.xaml C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\TermControl.xaml C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\TSFInputControl.xaml ``` From the build: ``` 18>Target _CopyOutOfDateSourceItemsToOutputDirectory: 18> Skipping target "_CopyOutOfDateSourceItemsToOutputDirectory" because all output files are up-to-date with respect to the input files. 18> Input files: 18> C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Control\Microsoft.Terminal.Control\SearchBoxControl.xbf 18> C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Control\Microsoft.Terminal.Control\TermControl.xbf 18> C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Control\Microsoft.Terminal.Control\TSFInputControl.xbf 18> C:\Users\migrie\dev\public\terminal\packages\Microsoft.UI.Xaml.2.7.0-prerelease.210913003\runtimes\win10-x64\native\Microsoft.UI.Xaml\Assets\NoiseAsset_256X256_PNG.png 18> Output files: 18> C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\SearchBoxControl.xbf 18> C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\TermControl.xbf 18> C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.Terminal.Control\TSFInputControl.xbf 18> C:\Users\migrie\dev\public\terminal\bin\x64\Debug\Microsoft.Terminal.Settings.Model.Lib\Microsoft.UI.Xaml\Assets\NoiseAsset_256X256_PNG.png ``` * Hmm, `21>Project is not up-to-date: build output 'c:\users\migrie\dev\public\terminal\bin\x64\debug\terminalapplib\microsoft.terminal.control\searchboxcontrol.xaml' is missing` as well.
433 lines
21 KiB
XML
433 lines
21 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>
|
|
<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.1.3\build\native\Microsoft.Toolkit.Win32.UI.XamlApplication.props" Condition="Exists('..\..\..\packages\Microsoft.Toolkit.Win32.UI.XamlApplication.6.1.3\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="TabHeaderControl.xaml">
|
|
<SubType>Designer</SubType>
|
|
</Page>
|
|
<Page Include="HighlightedTextControl.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="ActionPaletteItem.h" />
|
|
<ClInclude Include="App.base.h" />
|
|
<ClInclude Include="AppCommandlineArgs.h" />
|
|
<ClInclude Include="Commandline.h" />
|
|
<ClInclude Include="CommandLinePaletteItem.h" />
|
|
<ClInclude Include="Jumplist.h" />
|
|
<ClInclude Include="LanguageProfileNotifier.h" />
|
|
<ClInclude Include="MinMaxCloseControl.h">
|
|
<DependentUpon>MinMaxCloseControl.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="PaletteItemTemplateSelector.h">
|
|
<DependentUpon>PaletteItemTemplateSelector.idl</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</ClInclude>
|
|
<ClInclude Include="SettingsTab.h">
|
|
<DependentUpon>SettingsTab.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="PaletteItem.h" />
|
|
<ClInclude Include="TabBase.h">
|
|
<DependentUpon>TabBase.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="TabPaletteItem.h" />
|
|
<ClInclude Include="TaskbarState.h">
|
|
<DependentUpon>TaskbarState.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="TerminalTab.h">
|
|
<DependentUpon>TerminalTab.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="TerminalPage.h">
|
|
<DependentUpon>TerminalPage.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</ClInclude>
|
|
<ClInclude Include="TerminalTabStatus.h">
|
|
<DependentUpon>TerminalTabStatus.idl</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="TabHeaderControl.h">
|
|
<DependentUpon>TabHeaderControl.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="HighlightedTextControl.h">
|
|
<DependentUpon>HighlightedTextControl.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="HighlightedText.h" />
|
|
<ClInclude Include="ColorPickupFlyout.h">
|
|
<DependentUpon>ColorPickupFlyout.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="CommandPalette.h">
|
|
<DependentUpon>CommandPalette.xaml</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="FilteredCommand.h" />
|
|
<ClInclude Include="EmptyStringVisibilityConverter.h">
|
|
<DependentUpon>EmptyStringVisibilityConverter.idl</DependentUpon>
|
|
</ClInclude>
|
|
<ClInclude Include="Pane.h" />
|
|
<ClInclude Include="ColorHelper.h" />
|
|
<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>
|
|
<ClInclude Include="Toast.h" />
|
|
</ItemGroup>
|
|
<!-- ========================= Cpp Files ======================== -->
|
|
<ItemGroup>
|
|
<ClCompile Include="ActionPaletteItem.cpp" />
|
|
<ClCompile Include="CommandLinePaletteItem.cpp" />
|
|
<ClCompile Include="init.cpp" />
|
|
<ClCompile Include="AppCommandlineArgs.cpp" />
|
|
<ClCompile Include="Commandline.cpp" />
|
|
<ClCompile Include="Jumplist.cpp" />
|
|
<ClCompile Include="LanguageProfileNotifier.cpp" />
|
|
<ClCompile Include="MinMaxCloseControl.cpp">
|
|
<DependentUpon>MinMaxCloseControl.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="PaletteItemTemplateSelector.cpp">
|
|
<DependentUpon>PaletteItemTemplateSelector.idl</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</ClCompile>
|
|
<ClCompile Include="SettingsTab.cpp">
|
|
<DependentUpon>SettingsTab.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="PaletteItem.cpp" />
|
|
<ClCompile Include="TabBase.cpp">
|
|
<DependentUpon>TabBase.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="TabPaletteItem.cpp" />
|
|
<ClCompile Include="TaskbarState.cpp">
|
|
<DependentUpon>TaskbarState.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="TerminalTab.cpp">
|
|
<DependentUpon>TerminalTab.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="TerminalPage.cpp">
|
|
<DependentUpon>TerminalPage.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</ClCompile>
|
|
<ClCompile Include="TabManagement.cpp">
|
|
<DependentUpon>TerminalPage.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</ClCompile>
|
|
<ClCompile Include="ActionPreviewHandlers.cpp">
|
|
<DependentUpon>TerminalPage.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</ClCompile>
|
|
<ClCompile Include="TerminalTabStatus.cpp">
|
|
<DependentUpon>TerminalTabStatus.idl</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="TabHeaderControl.cpp">
|
|
<DependentUpon>TabHeaderControl.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="HighlightedTextControl.cpp">
|
|
<DependentUpon>HighlightedTextControl.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="HighlightedText.cpp" />
|
|
<ClCompile Include="ColorPickupFlyout.cpp">
|
|
<DependentUpon>ColorPickupFlyout.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="CommandPalette.cpp">
|
|
<DependentUpon>CommandPalette.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="FilteredCommand.cpp" />
|
|
<ClCompile Include="EmptyStringVisibilityConverter.cpp">
|
|
<DependentUpon>EmptyStringVisibilityConverter.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="Pane.cpp" />
|
|
<ClCompile Include="Pane.LayoutSizeNode.cpp" />
|
|
<ClCompile Include="ColorHelper.cpp" />
|
|
<ClCompile Include="DebugTapConnection.cpp" />
|
|
<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>TerminalPage.xaml</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="AppLogic.cpp">
|
|
<DependentUpon>AppLogic.idl</DependentUpon>
|
|
</ClCompile>
|
|
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
|
|
<ClCompile Include="Toast.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="ActionPaletteItem.idl" />
|
|
<Midl Include="CommandLinePaletteItem.idl" />
|
|
<Midl Include="IDirectKeyListener.idl" />
|
|
<Midl Include="App.idl">
|
|
<DependentUpon>App.xaml</DependentUpon>
|
|
</Midl>
|
|
<Midl Include="PaletteItemTemplateSelector.idl">
|
|
<SubType>Designer</SubType>
|
|
</Midl>
|
|
<Midl Include="SettingsTab.idl" />
|
|
<Midl Include="PaletteItem.idl" />
|
|
<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="TabBase.idl" />
|
|
<Midl Include="TabPaletteItem.idl" />
|
|
<Midl Include="TaskbarState.idl" />
|
|
<Midl Include="TerminalTab.idl" />
|
|
<Midl Include="TerminalPage.idl">
|
|
<DependentUpon>TerminalPage.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Midl>
|
|
<Midl Include="TerminalTabStatus.idl">
|
|
<SubType>Designer</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="TabHeaderControl.idl">
|
|
<DependentUpon>TabHeaderControl.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Midl>
|
|
<Midl Include="HighlightedTextControl.idl">
|
|
<DependentUpon>HighlightedTextControl.xaml</DependentUpon>
|
|
<SubType>Code</SubType>
|
|
</Midl>
|
|
<Midl Include="HighlightedText.idl" />
|
|
<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="FilteredCommand.idl" />
|
|
<Midl Include="EmptyStringVisibilityConverter.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
|
|
|
|
BODGY: we do need to add a ProjectReference to TerminalControl.vcxproj,
|
|
with Private=true, ReferenceOutputAssembly=false, so that Visual Studio's
|
|
"Fast Up-to-date Check" will work with this project. If we don't, the Fast
|
|
Up-to-date Check will look for the .xaml files from that project in our
|
|
output, which won't actually be there.
|
|
|
|
We do still need to separately reference the winmds manually below, which is annoying.
|
|
-->
|
|
<ProjectReference Include="$(OpenConsoleDir)src\cascadia\TerminalControl\dll\TerminalControl.vcxproj">
|
|
<!-- Private:true and ReferenceOutputAssembly:false, in combination with
|
|
the manual reference to TerminalControl.winmd below make sure that this
|
|
project will compile correct, and that we won't roll up the TermControl
|
|
xbf's into the packaging project twice. -->
|
|
<Private>true</Private>
|
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
|
</ProjectReference>
|
|
<ProjectReference Include="$(OpenConsoleDir)src\cascadia\TerminalSettingsEditor\Microsoft.Terminal.Settings.Editor.vcxproj">
|
|
<Private>true</Private>
|
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
|
</ProjectReference>
|
|
|
|
</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.Control">
|
|
<HintPath>$(OpenConsoleCommonOutDir)Microsoft.Terminal.Control\Microsoft.Terminal.Control.winmd</HintPath>
|
|
<IsWinMDFile>true</IsWinMDFile>
|
|
<Private>false</Private>
|
|
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
|
</Reference>
|
|
<Reference Include="Microsoft.Terminal.Settings.Editor">
|
|
<HintPath>$(OpenConsoleCommonOutDir)Microsoft.Terminal.Settings.Editor\Microsoft.Terminal.Settings.Editor.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>
|
|
<Reference Include="Microsoft.Terminal.Core">
|
|
<HintPath>$(OpenConsoleCommonOutDir)TerminalCore\Microsoft.Terminal.Core.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.7.0-prerelease.210913003\build\native\Microsoft.UI.Xaml.targets" Condition="Exists('..\..\..\packages\Microsoft.UI.Xaml.2.7.0-prerelease.210913003\build\native\Microsoft.UI.Xaml.targets')" />
|
|
<Import Project="..\..\..\packages\Microsoft.Toolkit.Win32.UI.XamlApplication.6.1.3\build\native\Microsoft.Toolkit.Win32.UI.XamlApplication.targets" Condition="Exists('..\..\..\packages\Microsoft.Toolkit.Win32.UI.XamlApplication.6.1.3\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.7.0-prerelease.210913003\build\native\Microsoft.UI.Xaml.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(OpenConsoleDir)\packages\Microsoft.UI.Xaml.2.7.0-prerelease.210913003\build\native\Microsoft.UI.Xaml.targets'))" />
|
|
<Error Condition="!Exists('$(OpenConsoleDir)\packages\Microsoft.Toolkit.Win32.UI.XamlApplication.6.1.3\build\native\Microsoft.Toolkit.Win32.UI.XamlApplication.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(OpenConsoleDir)\packages\Microsoft.Toolkit.Win32.UI.XamlApplication.6.1.3\build\native\Microsoft.Toolkit.Win32.UI.XamlApplication.targets'))" />
|
|
<Error Condition="!Exists('$(OpenConsoleDir)\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.2.3.2262\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.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>
|