<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{CA5CAD1A-ABCD-429C-B551-8562EC954746}</ProjectGuid>
    <Keyword>Win32Proj</Keyword>
    <ProjectName>TerminalCore</ProjectName>
    <TargetName>TerminalCore</TargetName>
    <ConfigurationType>StaticLibrary</ConfigurationType>
    <RootNamespace>Microsoft.Terminal.Core</RootNamespace>

    <!-- sets a bunch of Windows Universal properties -->
    <OpenConsoleUniversalApp>true</OpenConsoleUniversalApp>
  </PropertyGroup>

  <PropertyGroup Label="NuGet Dependencies">
    <TerminalCppWinrt>true</TerminalCppWinrt>
  </PropertyGroup>

  <Import Project="..\..\..\..\common.openconsole.props" Condition="'$(OpenConsoleDir)'==''" />
  <Import Project="$(OpenConsoleDir)src\common.nugetversions.props" />
  <Import Project="$(OpenConsoleDir)src\cppwinrt.build.pre.props" />

  <!-- DONT ADD NEW FILES HERE, ADD THEM TO terminalcore-common.vcxitems -->
  <Import Project="$(OpenConsoleDir)src\cascadia\TerminalCore\terminalcore-common.vcxitems" />

  <!-- ============================ References ============================  -->
  <ItemGroup>
    <ProjectReference Include="$(OpenConsoleDir)src\types\lib\types.vcxproj">
      <Project>{18D09A24-8240-42D6-8CB6-236EEE820263}</Project>
    </ProjectReference>
    <ProjectReference Include="$(OpenConsoleDir)src\buffer\out\lib\bufferout.vcxproj">
      <Project>{0cf235bd-2da0-407e-90ee-c467e8bbc714}</Project>
    </ProjectReference>
    <ProjectReference Include="$(OpenConsoleDir)src\renderer\base\lib\base.vcxproj">
      <Project>{af0a096a-8b3a-4949-81ef-7df8f0fee91f}</Project>
    </ProjectReference>
    <ProjectReference Include="$(OpenConsoleDir)src\terminal\adapter\lib\adapter.vcxproj">
      <Project>{dcf55140-ef6a-4736-a403-957e4f7430bb}</Project>
    </ProjectReference>
    <ProjectReference Include="$(OpenConsoleDir)src\terminal\parser\lib\parser.vcxproj">
      <Project>{3ae13314-1939-4dfa-9c14-38ca0834050c}</Project>
    </ProjectReference>
    <ProjectReference Include="$(OpenConsoleDir)src\renderer\atlas\atlas.vcxproj">
      <Project>{8222900C-8B6C-452A-91AC-BE95DB04B95F}</Project>
    </ProjectReference>
    <ProjectReference Include="$(OpenConsoleDir)src\audio\midi\lib\midi.vcxproj">
      <Project>{3c67784e-1453-49c2-9660-483e2cc7f7ad}</Project>
    </ProjectReference>
  </ItemGroup>

  <ItemGroup>
    <Midl Include="..\ICoreSettings.idl" />
    <Midl Include="..\ICoreAppearance.idl" />
  </ItemGroup>
  <ItemDefinitionGroup>
    <ClCompile>
      <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
      <!-- WinRT_IncludePath is the SDK winrt path.
           cppwinrt is a sibling directory to it. This is needed for the
           #include <winrt/base>
           from TerminalCore's header to be able to be found.
           Also manually include the generated header's path, because
           adding a project reference will confuse msbuild.
      -->
      <AdditionalIncludeDirectories>$(WinRT_IncludePath)\..\cppwinrt\winrt;"$(OpenConsoleDir)src\cascadia\TerminalCore\Generated Files";%(AdditionalIncludeDirectories);</AdditionalIncludeDirectories>
    </ClCompile>
  </ItemDefinitionGroup>

  <!-- Careful reordering these. Some default props (contained in these files) are order sensitive. -->
  <Import Project="$(OpenConsoleDir)src\cppwinrt.build.post.props" />

  <!-- This -must- go after cppwinrt.build.post.props because that includes many VS-provided props including appcontainer.common.props, which stomps on what cppwinrt.targets did. -->
  <Import Project="$(OpenConsoleDir)src\common.nugetversions.targets" />
</Project>
