try to move to shared pch

This commit is contained in:
Michael Niksa 2019-07-16 15:43:13 -07:00
parent 0905140955
commit 1c7aad82a9
20 changed files with 135 additions and 136 deletions

View file

@ -243,6 +243,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TerminalAppLib", "src\casca
{CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907} = {CA5CAD1A-D7EC-4107-B7C6-79CB77AE2907}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SharedPch", "src\cascadia\SharedPch\SharedPch.vcxproj", "{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
AuditMode|ARM64 = AuditMode|ARM64
@ -1150,6 +1152,24 @@ Global
{CA5CAD1A-9A12-429C-B551-8562EC954746}.Release|x64.Build.0 = Release|x64
{CA5CAD1A-9A12-429C-B551-8562EC954746}.Release|x86.ActiveCfg = Release|Win32
{CA5CAD1A-9A12-429C-B551-8562EC954746}.Release|x86.Build.0 = Release|Win32
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.AuditMode|ARM64.ActiveCfg = Release|ARM64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.AuditMode|ARM64.Build.0 = Release|ARM64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.AuditMode|x64.ActiveCfg = Release|x64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.AuditMode|x64.Build.0 = Release|x64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.AuditMode|x86.ActiveCfg = Release|Win32
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.AuditMode|x86.Build.0 = Release|Win32
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Debug|ARM64.ActiveCfg = Debug|ARM64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Debug|ARM64.Build.0 = Debug|ARM64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Debug|x64.ActiveCfg = Debug|x64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Debug|x64.Build.0 = Debug|x64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Debug|x86.ActiveCfg = Debug|Win32
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Debug|x86.Build.0 = Debug|Win32
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Release|ARM64.ActiveCfg = Release|ARM64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Release|ARM64.Build.0 = Release|ARM64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Release|x64.ActiveCfg = Release|x64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Release|x64.Build.0 = Release|x64
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Release|x86.ActiveCfg = Release|Win32
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -1210,6 +1230,7 @@ Global
{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73} = {89CDCC5C-9F53-4054-97A4-639D99F169CD}
{CA5CAD1A-9333-4D05-B12A-1905CBF112F9} = {59840756-302F-44DF-AA47-441A9D673202}
{CA5CAD1A-9A12-429C-B551-8562EC954746} = {59840756-302F-44DF-AA47-441A9D673202}
{CA5CAD1A-E26F-4680-90EC-BE4F2617312B} = {59840756-302F-44DF-AA47-441A9D673202}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3140B1B7-C8EE-43D1-A772-D82A7061A271}

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros">
<SharedPchDir>$(SolutionDir)src\cascadia\SharedPch\$(Platform)\$(Configuration)\</SharedPchDir>
<SharedPch>$(SharedPchDir)pch.pch</SharedPch>
<SharedPchObj>$(SharedPchDir)pch.obj</SharedPchObj>
<SharedPdb>$(SharedPchDir)SharedPch.pdb</SharedPdb>
<SharedIdb>$(SharedPchDir)SharedPch.idb</SharedIdb>
<SharedDest Condition="'$(ConfigurationType)' != 'StaticLibrary'">$(IntDir)vc$(PlatformToolsetVersion)</SharedDest>
<SharedDest Condition="'$(ConfigurationType)' == 'StaticLibrary'">$(IntDir)$(ProjectName)</SharedDest>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(SolutionDir)\src\cascadia\SharedPch;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PrecompiledHeaderOutputFile>$(SharedPch)</PrecompiledHeaderOutputFile>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<BuildMacro Include="SharedPchDir">
<Value>$(SharedPchDir)</Value>
</BuildMacro>
<BuildMacro Include="SharedPch">
<Value>$(SharedPch)</Value>
</BuildMacro>
<BuildMacro Include="SharedPdb">
<Value>$(SharedPdb)</Value>
</BuildMacro>
<BuildMacro Include="SharedIdb">
<Value>$(SharedIdb)</Value>
</BuildMacro>
<Link Include="$(SharedPchObj)"/>
<ProjectReference Include="$(OpenConsoleDir)src\cascadia\SharedPch\SharedPch.vcxproj">
<Private>false</Private>
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Target Name="CopySharedPDBs" BeforeTargets="ClCompile">
<Copy SourceFiles="$(SharedPdb)"
DestinationFiles="$(SharedDest).pdb"
Condition="Exists($(SharedPdb))" />
<Copy SourceFiles="$(SharedIdb)"
DestinationFiles="$(SharedDest).idb"
Condition="Exists($(SharedIdb))" />
</Target>
</Project>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\..\common.openconsole.props" Condition="'$(OpenConsoleDir)'==''" />
<PropertyGroup>
<!-- cppwinrt.build.pre.props depends on these settings: -->
<!-- build a dll, not exe (Application) -->
<ConfigurationType>StaticLibrary</ConfigurationType>
<SubSystem>Console</SubSystem>
<!-- sets a bunch of Windows Universal properties -->
<OpenConsoleUniversalApp>true</OpenConsoleUniversalApp>
</PropertyGroup>
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.pre.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{CA5CAD1A-E26F-4680-90EC-BE4F2617312B}</ProjectGuid>
<ProjectName>SharedPch</ProjectName>
<RootNamespace>Microsoft.Terminal.SharedPch</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="pch.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="pch.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemDefinitionGroup>
<ClCompile>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>..;$(OpenConsoleDir)\dep\jsoncpp\json;%(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>
<PropertyGroup>
<!--
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>
</PropertyGroup>
<Import Project="$(OpenConsoleDir)src\common.build.post.props" />
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.post.props" />
</Project>

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.UI.Xaml" version="2.2.190611001-prerelease" targetFramework="native" />
<package id="Microsoft.Windows.CppWinRT" version="2.0.190605.7" targetFramework="native" />
</packages>

View file

@ -31,13 +31,12 @@
#include <winrt/Windows.UI.Xaml.Controls.h>
#include <winrt/Windows.UI.Xaml.Controls.Primitives.h>
#include <winrt/Windows.ui.xaml.media.h>
#include <winrt/Windows.ui.xaml.media.imaging.h>
#include <winrt/Windows.ui.xaml.input.h>
#include <winrt/Windows.UI.Xaml.Hosting.h>
#include "winrt/Windows.UI.Xaml.Markup.h"
#include "winrt/Windows.UI.Xaml.Documents.h"
#include <winrt/Microsoft.Toolkit.Win32.UI.XamlHost.h>
#include <windows.ui.xaml.media.dxinterop.h>
#include <winrt/Windows.System.h>

View file

@ -26,7 +26,6 @@
<ItemGroup>
<!-- Only put headers for winrt types in here. Don't put other header files
in here - put them in TerminalAppLib.vcxproj instead! -->
<ClInclude Include="pch.h" />
<ClInclude Include="TerminalPage.h" />
<ClInclude Include="MinMaxCloseControl.h" />
<ClInclude Include="AppKeyBindings.h" />
@ -35,9 +34,6 @@
<!-- ========================= Cpp Files ======================== -->
<ItemGroup>
<!-- Don't put source files in here - put them in TerminalAppLib.vcxproj instead! -->
<ClCompile Include="pch.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<!-- ========================= idl Files ======================== -->
<ItemGroup>
@ -100,7 +96,6 @@
</Link>
</ItemDefinitionGroup>
<Import Project="$(OpenConsoleDir)src\common.build.post.props" />
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.post.props" />
<Import Project="$(OpenConsoleDir)src\cascadia\SharedPch\SharedPch.props" />
</Project>

View file

@ -56,7 +56,6 @@
<ClInclude Include="../AppKeyBindingsSerialization.h" />
<ClInclude Include="../KeyChordSerialization.h" />
<ClInclude Include="../Utils.h" />
<ClInclude Include="pch.h" />
<ClInclude Include="../AppKeyBindings.h" />
<ClInclude Include="../App.h" >
<DependentUpon>../App.xaml</DependentUpon>
@ -82,9 +81,6 @@
<ClCompile Include="../AppKeyBindingsSerialization.cpp" />
<ClCompile Include="../KeyChordSerialization.cpp" />
<ClCompile Include="../Utils.cpp" />
<ClCompile Include="pch.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="../AppKeyBindings.cpp" >
<DependentUpon>../AppKeyBindings.idl</DependentUpon>
</ClCompile>
@ -213,6 +209,7 @@
<Import Project="$(OpenConsoleDir)src\common.build.post.props" />
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.post.props" />
<Import Project="$(OpenConsoleDir)src\cascadia\SharedPch\SharedPch.props" />
<!-- Manually include MUX here, instead of importing its targets file. We need
to reference its winmd, but very specifically with the

View file

@ -1,4 +0,0 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
#include "pch.h"

View file

@ -1,12 +0,0 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
//
// pch.h
// Header for platform projection include files
//
#pragma once
// This file can be empty - the pch.h in TerminalApp/lib does the heavy lifting
// of including all the headers we need. As this project is just a dll wrapper,
// we don't actually need anything in here.

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\..\common.openconsole.props" Condition="'$(OpenConsoleDir)'==''" />
<PropertyGroup>
<ConfigurationType>DynamicLibrary</ConfigurationType>
@ -8,15 +7,12 @@
<OpenConsoleUniversalApp>true</OpenConsoleUniversalApp>
</PropertyGroup>
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.pre.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{CA5CAD1A-C46D-4588-B1C0-40F31AE9100B}</ProjectGuid>
<ProjectName>TerminalConnection</ProjectName>
<RootNamespace>Microsoft.Terminal.TerminalConnection</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="pch.h" />
<ClInclude Include="ConhostConnection.h">
<DependentUpon>ConhostConnection.idl</DependentUpon>
</ClInclude>
@ -25,9 +21,6 @@
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="pch.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="ConhostConnection.cpp">
<DependentUpon>ConhostConnection.idl</DependentUpon>
</ClCompile>
@ -44,14 +37,11 @@
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemDefinitionGroup>
<Link>
<AdditionalDependencies>kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- ========================= Project References ======================== -->
<ItemGroup>
<!--
@ -62,7 +52,6 @@
<ProjectReference Include="$(OpenConsoleDir)src\types\lib\types.vcxproj">
<Project>{18D09A24-8240-42D6-8CB6-236EEE820263}</Project>
</ProjectReference>
</ItemGroup>
<PropertyGroup>
<!--
@ -72,7 +61,10 @@
-->
<NoOutputRedirection>true</NoOutputRedirection>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<CustomBuildBeforeTargets>ClCompile</CustomBuildBeforeTargets>
</PropertyGroup>
<Import Project="$(OpenConsoleDir)src\common.build.post.props" />
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.post.props" />
</Project>
<Import Project="$(OpenConsoleDir)src\cascadia\SharedPch\SharedPch.props" />
</Project>

View file

@ -10,13 +10,11 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="pch.cpp" />
<ClCompile Include="EchoConnection.cpp" />
<ClCompile Include="ConhostConnection.cpp" />
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="pch.h" />
<ClInclude Include="EchoConnection.h" />
<ClInclude Include="ConhostConnection.h" />
</ItemGroup>
@ -26,10 +24,9 @@
<Midl Include="EchoConnection.idl" />
</ItemGroup>
<ItemGroup>
<None Include="TerminalConnection.def" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Text Include="readme.txt" />
<Natvis Include="$(SolutionDir)tools\ConsoleTypes.natvis" />
</ItemGroup>
</Project>
</Project>

View file

@ -1,4 +0,0 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
#include "pch.h"

View file

@ -1,16 +0,0 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
//
// pch.h
// Header for platform projection include files
//
#pragma once
#include <LibraryIncludes.h>
// Must be included before any WinRT headers.
#include <unknwn.h>
#include "winrt/Windows.Foundation.h"
#include <Windows.h>

View file

@ -16,15 +16,11 @@
<RootNamespace>Microsoft.Terminal.TerminalControl</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="pch.h" />
<ClInclude Include="TermControl.h">
<DependentUpon>TermControl.idl</DependentUpon>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="pch.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="TermControl.cpp">
<DependentUpon>TermControl.idl</DependentUpon>
</ClCompile>
@ -72,4 +68,5 @@
</PropertyGroup>
<Import Project="$(OpenConsoleDir)src\common.build.post.props" />
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.post.props" />
<Import Project="$(OpenConsoleDir)src\cascadia\SharedPch\SharedPch.props" />
</Project>

View file

@ -1,4 +0,0 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
#include "pch.h"

View file

@ -1,32 +0,0 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
//
// pch.h
// Header for platform projection include files
//
#pragma once
#define WIN32_LEAN_AND_MEAN
#include <LibraryIncludes.h>
// This is inexplicable, but for whatever reason, cppwinrt conflicts with the
// SDK definition of this function, so the only fix is to undef it.
// from WinBase.h
// Windows::UI::Xaml::Media::Animation::IStoryboard::GetCurrentTime
#ifdef GetCurrentTime
#undef GetCurrentTime
#endif
#include <unknwn.h>
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Foundation.Collections.h>
#include <winrt/windows.ui.core.h>
#include <winrt/Windows.ui.input.h>
#include <winrt/Windows.UI.Xaml.Controls.h>
#include <winrt/Windows.UI.Xaml.Controls.Primitives.h>
#include <winrt/Windows.ui.xaml.media.h>
#include <winrt/Windows.ui.xaml.media.imaging.h>
#include <winrt/Windows.ui.xaml.input.h>
#include <windows.ui.xaml.media.dxinterop.h>

View file

@ -16,7 +16,6 @@
<RootNamespace>Microsoft.Terminal.Settings</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="pch.h" />
<ClInclude Include="KeyChord.h">
<DependentUpon>KeyChord.idl</DependentUpon>
</ClInclude>
@ -25,9 +24,6 @@
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="pch.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="KeyChord.cpp">
<DependentUpon>KeyChord.idl</DependentUpon>
</ClCompile>
@ -58,4 +54,5 @@
</PropertyGroup>
<Import Project="$(OpenConsoleDir)src\common.build.post.props" />
<Import Project="$(OpenConsoleDir)src\cppwinrt.build.post.props" />
<Import Project="$(OpenConsoleDir)src\cascadia\SharedPch\SharedPch.props" />
</Project>

View file

@ -1,4 +0,0 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
#include "pch.h"

View file

@ -1,22 +0,0 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
//
// pch.h
// Header for platform projection include files
//
#pragma once
#define WIN32_LEAN_AND_MEAN
#include <LibraryIncludes.h>
// This is inexplicable, but for whatever reason, cppwinrt conflicts with the
// SDK definition of this function, so the only fix is to undef it.
// from WinBase.h
// Windows::UI::Xaml::Media::Animation::IStoryboard::GetCurrentTime
#ifdef GetCurrentTime
#undef GetCurrentTime
#endif
#include <unknwn.h>
#include <winrt/Windows.Foundation.h>