<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="16.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="$(SolutionDir)ExperimentalFeatures.props" Condition="Exists('$(SolutionDir)ExperimentalFeatures.props')" />
    <Import Project="$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.210312.4\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.210312.4\build\native\Microsoft.Windows.CppWinRT.props')" />
    <PropertyGroup Label="Globals">
        <CppWinRTOptimized>true</CppWinRTOptimized>
        <CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
        <CppWinRTGenerateWindowsMetadata>true</CppWinRTGenerateWindowsMetadata>
        <MinimalCoreWin>true</MinimalCoreWin>
        <ProjectGuid>{b44cead7-fbff-4a17-95ea-ff5434bbd79d}</ProjectGuid>
        <ProjectName>ReactTestApp</ProjectName>
        <RootNamespace>ReactTestApp</RootNamespace>
        <DefaultLanguage>en-US</DefaultLanguage>
        <MinimumVisualStudioVersion>16.0</MinimumVisualStudioVersion>
        <AppContainerApplication>true</AppContainerApplication>
        <ApplicationType>Windows Store</ApplicationType>
        <ApplicationTypeRevision>10.0</ApplicationTypeRevision>
        <WindowsTargetPlatformVersion Condition=" '$(WindowsTargetPlatformVersion)' == '' ">10.0.19041.0</WindowsTargetPlatformVersion>
        <WindowsTargetPlatformMinVersion>10.0.17763.0</WindowsTargetPlatformMinVersion>
        <PackageCertificateKeyFile>ReactTestApp_TemporaryKey.pfx</PackageCertificateKeyFile>
        <PackageCertificateThumbprint>CF5E09A17EC338910A836B9975B2E95912A8D8F1</PackageCertificateThumbprint>
    </PropertyGroup>
    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
    <PropertyGroup Label="ReactNativeWindowsProps">
        <ProjectRootDir Condition="'$(ProjectRootDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(SolutionDir), 'app.json'))</ProjectRootDir>
        <ReactNativeWindowsDir Condition="'$(ReactNativeWindowsDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(SolutionDir), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\</ReactNativeWindowsDir>
        <ReactTestAppDir Condition="'$(ReactTestAppDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(SolutionDir), 'node_modules\react-native-test-app\package.json'))\node_modules\react-native-test-app\windows\ReactTestApp\</ReactTestAppDir>
        <UseExperimentalNuget>false</UseExperimentalNuget>
        <WinUI2xVersionDisabled />
    </PropertyGroup>
    <ItemGroup Label="ProjectConfigurations">
        <ProjectConfiguration Include="Debug|ARM">
            <Configuration>Debug</Configuration>
            <Platform>ARM</Platform>
        </ProjectConfiguration>
        <ProjectConfiguration Include="Debug|ARM64">
            <Configuration>Debug</Configuration>
            <Platform>ARM64</Platform>
        </ProjectConfiguration>
        <ProjectConfiguration Include="Debug|Win32">
            <Configuration>Debug</Configuration>
            <Platform>Win32</Platform>
        </ProjectConfiguration>
        <ProjectConfiguration Include="Debug|x64">
            <Configuration>Debug</Configuration>
            <Platform>x64</Platform>
        </ProjectConfiguration>
        <ProjectConfiguration Include="Release|ARM">
            <Configuration>Release</Configuration>
            <Platform>ARM</Platform>
        </ProjectConfiguration>
        <ProjectConfiguration Include="Release|ARM64">
            <Configuration>Release</Configuration>
            <Platform>ARM64</Platform>
        </ProjectConfiguration>
        <ProjectConfiguration Include="Release|Win32">
            <Configuration>Release</Configuration>
            <Platform>Win32</Platform>
        </ProjectConfiguration>
        <ProjectConfiguration Include="Release|x64">
            <Configuration>Release</Configuration>
            <Platform>x64</Platform>
        </ProjectConfiguration>
    </ItemGroup>
    <PropertyGroup Label="Configuration">
        <ConfigurationType>Application</ConfigurationType>
        <PlatformToolset>v142</PlatformToolset>
        <CharacterSet>Unicode</CharacterSet>
        <BundleDirAssets>$(BundleDirContentPaths)</BundleDirAssets>
        <BundleFileAssets>$(BundleFileContentPaths)</BundleFileAssets>
        <AssetsContentRoot>$(ReactTestAppDir)\Assets</AssetsContentRoot>
        <AssetsContent>$(AssetsContentRoot)\**\*</AssetsContent>
        <AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
        <UseDebugLibraries>true</UseDebugLibraries>
        <LinkIncremental>true</LinkIncremental>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
        <UseDebugLibraries>false</UseDebugLibraries>
        <WholeProgramOptimization>true</WholeProgramOptimization>
        <LinkIncremental>false</LinkIncremental>
    </PropertyGroup>
    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
    <ImportGroup Label="ExtensionSettings">
    </ImportGroup>
    <ImportGroup Label="PropertySheets">
        <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    </ImportGroup>
    <ImportGroup Label="PropertySheets">
        <Import Project="PropertySheet.props" />
    </ImportGroup>
    <ImportGroup Label="ReactNativeWindowsPropertySheets">
        <Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppApp.props" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppApp.props')" />
        <Import Project="$(SolutionDir)packages\$(WinUIPackageProps)" Condition="'$(WinUIPackageProps)' != '' And Exists('$(SolutionDir)packages\$(WinUIPackageProps)')" />
    </ImportGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
        <IncludePath>$(ReactTestAppDir);$(IncludePath)</IncludePath>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
        <IncludePath>$(ReactTestAppDir);$(IncludePath)</IncludePath>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
        <IncludePath>$(ReactTestAppDir);$(IncludePath)</IncludePath>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
        <IncludePath>$(ReactTestAppDir);$(IncludePath)</IncludePath>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
        <IncludePath>$(ReactTestAppDir);$(IncludePath)</IncludePath>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
        <IncludePath>$(ReactTestAppDir);$(IncludePath)</IncludePath>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
        <IncludePath>$(ReactTestAppDir);$(IncludePath)</IncludePath>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
        <IncludePath>$(ReactTestAppDir);$(IncludePath)</IncludePath>
    </PropertyGroup>
    <ItemDefinitionGroup>
        <ClCompile>
            <PrecompiledHeader>Use</PrecompiledHeader>
            <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
            <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
            <WarningLevel>Level4</WarningLevel>
            <AdditionalOptions>%(AdditionalOptions) /bigobj</AdditionalOptions>
            <!--Temporarily disable cppwinrt heap enforcement to work around xaml compiler generated std::shared_ptr use -->
            <AdditionalOptions Condition="'$(CppWinRTHeapEnforcement)'==''">/DWINRT_NO_MAKE_DETECTION %(AdditionalOptions)</AdditionalOptions>
            <DisableSpecificWarnings></DisableSpecificWarnings>
            <PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;WINRT_LEAN_AND_MEAN;REACT_NATIVE_VERSION=10000000;%(PreprocessorDefinitions)</PreprocessorDefinitions>
        </ClCompile>
    </ItemDefinitionGroup>
    <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
        <ClCompile>
            <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
            <TreatWarningAsError>false</TreatWarningAsError>
        </ClCompile>
    </ItemDefinitionGroup>
    <ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
        <ClCompile>
            <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
            <TreatWarningAsError>false</TreatWarningAsError>
        </ClCompile>
    </ItemDefinitionGroup>
    <ItemGroup>
        <ClInclude Include="$(ReactTestAppDir)\pch.h" />
        <ClInclude Include="$(ReactTestAppDir)\App.h">
            <DependentUpon>$(ReactTestAppDir)\App.xaml</DependentUpon>
        </ClInclude>
        <ClInclude Include="$(ReactTestAppDir)\AutolinkedNativeModules.g.h" />
        <ClInclude Include="$(ReactTestAppDir)\MainPage.h">
            <DependentUpon>$(ReactTestAppDir)\MainPage.xaml</DependentUpon>
        </ClInclude>
        <ClInclude Include="$(ReactTestAppDir)\Manifest.h" />
        <ClInclude Include="$(ReactTestAppDir)\ReactInstance.h" />
        <ClInclude Include="$(ReactTestAppDir)\ReactPackageProvider.h" />
        <ClInclude Include="$(ReactTestAppDir)\Session.h" />
    </ItemGroup>
    <ItemGroup>
        <ApplicationDefinition Include="$(ReactTestAppDir)\App.xaml">
            <SubType>Designer</SubType>
        </ApplicationDefinition>
        <Page Include="$(ReactTestAppDir)\MainPage.xaml">
            <SubType>Designer</SubType>
        </Page>
    </ItemGroup>
    <ItemGroup>
        <AppxManifest Include="$(SolutionDir)$(ReactTestAppPackageManifest)" Condition="Exists('$(SolutionDir)$(ReactTestAppPackageManifest)')">
            <SubType>Designer</SubType>
        </AppxManifest>
        <AppxManifest Include="$(ReactTestAppDir)\Package.appxmanifest" Condition="!Exists('$(SolutionDir)$(ReactTestAppPackageManifest)')">
            <SubType>Designer</SubType>
        </AppxManifest>
    </ItemGroup>
    <ItemGroup>
        <Text Include="$(ProjectRootDir)\app.json" />
    </ItemGroup>
    <ItemGroup>
        <BundleDirContentToBePackaged Include="$(BundleDirAssets)" />
        <None Include="@(BundleDirContentToBePackaged)">
            <DirNameFullPath>$([MSBuild]::ValueOrDefault('%(FullPath)', '').Remove($([MSBuild]::ValueOrDefault(%(FullPath), '').LastIndexOf(\%(RecursiveDir)%(Filename)%(Extension)))))</DirNameFullPath>
            <DirName Condition="'%(DirNameFullPath)' != ''">$([MSBuild]::ValueOrDefault(%(DirNameFullPath), '').Substring($([MSBuild]::ValueOrDefault(%(DirNameFullPath), '').LastIndexOf('\'))))</DirName>
            <Link>$([MSBuild]::MakeRelative($(ProjectDir),'Bundle%(DirName)\%(RecursiveDir)%(Filename)%(Extension)'))</Link>
            <DeploymentContent>true</DeploymentContent>
        </None>
        <None Include="ReactTestApp_TemporaryKey.pfx" />
    </ItemGroup>
    <ItemGroup>
        <BundleFileContentToBePackaged Include="$(BundleFileAssets)" />
        <None Include="@(BundleFileContentToBePackaged)">
            <Link>$([MSBuild]::MakeRelative($(ProjectDir),'Bundle\%(RecursiveDir)%(Filename)%(Extension)'))</Link>
            <DeploymentContent>true</DeploymentContent>
        </None>
    </ItemGroup>
    <ItemGroup>
        <AssetsToBePackaged Include="$(AssetsContent)" />
        <None Include="@(AssetsToBePackaged)">
            <Link>$([MSBuild]::MakeRelative($(ProjectDir),'Assets\%(RecursiveDir)%(Filename)%(Extension)'))</Link>
            <DeploymentContent>true</DeploymentContent>
        </None>
    </ItemGroup>
    <ItemGroup>
        <ClCompile Include="$(ReactTestAppDir)\pch.cpp">
            <PrecompiledHeader>Create</PrecompiledHeader>
        </ClCompile>
        <ClCompile Include="$(ReactTestAppDir)\App.cpp">
            <DependentUpon>$(ReactTestAppDir)\App.xaml</DependentUpon>
        </ClCompile>
        <ClCompile Include="AutolinkedNativeModules.g.cpp" />
        <ClCompile Include="$(ReactTestAppDir)\MainPage.cpp">
            <DependentUpon>$(ReactTestAppDir)\MainPage.xaml</DependentUpon>
        </ClCompile>
        <ClCompile Include="$(ReactTestAppDir)\Manifest.cpp" />
        <ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
        <ClCompile Include="$(ReactTestAppDir)\ReactInstance.cpp" />
        <ClCompile Include="$(ReactTestAppDir)\ReactPackageProvider.cpp" />
    </ItemGroup>
    <ItemGroup>
        <Midl Include="$(ReactTestAppDir)\App.idl">
            <DependentUpon>$(ReactTestAppDir)\App.xaml</DependentUpon>
        </Midl>
        <Midl Include="$(ReactTestAppDir)\MainPage.idl">
            <DependentUpon>$(ReactTestAppDir)\MainPage.xaml</DependentUpon>
        </Midl>
    </ItemGroup>
    <ItemGroup>
        <None Include="packages.config" />
        <None Include="PropertySheet.props" />
    </ItemGroup>
    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
    <ImportGroup Label="ReactNativeWindowsTargets">
        <Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppApp.targets" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppApp.targets')" />
    </ImportGroup>
    <Target Name="EnsureReactNativeWindowsTargets" BeforeTargets="PrepareForBuild">
        <PropertyGroup>
            <ErrorText>This project references targets in your node_modules\react-native-windows folder that are missing. The missing file is {0}.</ErrorText>
        </PropertyGroup>
        <Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppApp.props')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppApp.props'))" />
        <Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppApp.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppApp.targets'))" />
    </Target>
    <ImportGroup Label="ExtensionTargets">
        <Import Project="$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.210312.4\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.210312.4\build\native\Microsoft.Windows.CppWinRT.targets')" />
        <Import Project="$(SolutionDir)packages\Microsoft.ReactNative.1000.0.0\build\native\Microsoft.ReactNative.targets" Condition="Exists('$(SolutionDir)packages\Microsoft.ReactNative.1000.0.0\build\native\Microsoft.ReactNative.targets')" />
        <Import Project="$(SolutionDir)packages\Microsoft.ReactNative.Cxx.1000.0.0\build\native\Microsoft.ReactNative.Cxx.targets" Condition="Exists('$(SolutionDir)packages\Microsoft.ReactNative.Cxx.1000.0.0\build\native\Microsoft.ReactNative.Cxx.targets')" />
        <Import Project="$(SolutionDir)packages\ReactNative.Hermes.Windows.$(HermesVersion)\build\native\ReactNative.Hermes.Windows.targets" Condition="Exists('$(SolutionDir)packages\ReactNative.Hermes.Windows.$(HermesVersion)\build\native\ReactNative.Hermes.Windows.targets') AND '$(UseHermes)' == 'true'" />
        <Import Project="$(SolutionDir)packages\$(WinUIPackageName).$(WinUIPackageVersion)\build\native\$(WinUIPackageName).targets" Condition="Exists('$(SolutionDir)packages\$(WinUIPackageName).$(WinUIPackageVersion)\build\native\$(WinUIPackageName).targets')" />
        <Import Project="$(SolutionDir)packages\nlohmann.json.3.9.1\build\native\nlohmann.json.targets" Condition="Exists('$(SolutionDir)packages\nlohmann.json.3.9.1\build\native\nlohmann.json.targets')" />
    </ImportGroup>
    <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('$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.210312.4\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.210312.4\build\native\Microsoft.Windows.CppWinRT.props'))" />
        <Error Condition="!Exists('$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.210312.4\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.210312.4\build\native\Microsoft.Windows.CppWinRT.targets'))" />
        <Error Condition="!Exists('$(SolutionDir)packages\nlohmann.json.3.9.1\build\native\nlohmann.json.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)packages\nlohmann.json.3.9.1\build\native\nlohmann.json.targets'))" />
    </Target>
</Project>
