﻿<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="Globals">
    <ProjectGuid>{CC9B93A2-439D-4058-9D29-6DCF43774405}</ProjectGuid>
    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
    <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
    <IncludeExtensions Condition="'$(IncludeExtensions)' == ''">true</IncludeExtensions>
    <IncludeExternals Condition="'$(IncludeExternals)' == ''">true</IncludeExternals>
    <IncludeTests Condition="'$(IncludeTest)' == ''">true</IncludeTests>
    <IncludeCTypes Condition="'$(IncludeCTypes)' == ''">true</IncludeCTypes>
    <IncludeSSL Condition="'$(IncludeSSL)' == ''">true</IncludeSSL>
    <IncludeTkinter Condition="'$(IncludeTkinter)' == ''">true</IncludeTkinter>
    <IncludeUwp Condition="'$(IncludeUwp)' == ''">false</IncludeUwp>
  </PropertyGroup>

  <ItemDefinitionGroup>
    <Projects>
      <Platform>$(Platform)</Platform>
      <Configuration>$(Configuration)</Configuration>
      <Properties></Properties>
      <BuildTarget>Build</BuildTarget>
      <CleanTarget>Clean</CleanTarget>
      <CleanAllTarget>CleanAll</CleanAllTarget>
      <BuildInParallel>true</BuildInParallel>
    </Projects>
    <Projects2>
      <Platform>$(Platform)</Platform>
      <Configuration>$(Configuration)</Configuration>
      <Properties></Properties>
      <BuildTarget>Build</BuildTarget>
      <CleanTarget>Clean</CleanTarget>
      <CleanAllTarget>CleanAll</CleanAllTarget>
      <BuildInParallel>false</BuildInParallel>
    </Projects2>
  </ItemDefinitionGroup>
  <ItemGroup>
    <!-- pythonXY.dll -->
    <!--
    Parallel build is explicitly disabled for this project because it
    causes many conflicts between pythoncore and projects that depend
    on pythoncore. Once the core DLL has been built, subsequent
    projects will be built in parallel.
    -->
    <Projects Include="pythoncore.vcxproj">
      <BuildInParallel>false</BuildInParallel>
    </Projects>
    <!-- python3.dll -->
    <Projects Include="python3dll.vcxproj" />
    <!-- py[w].exe -->
    <Projects Include="pylauncher.vcxproj;pywlauncher.vcxproj" />
    <!-- pyshellext.dll -->
    <Projects Include="pyshellext.vcxproj" />
    <!-- Extension modules -->
    <ExtensionModules Include="_asyncio;_zoneinfo;_decimal;_elementtree;_msi;_multiprocessing;_overlapped;pyexpat;_queue;select;unicodedata;winsound;_uuid" />
    <ExtensionModules Include="_ctypes" Condition="$(IncludeCTypes)" />
    <!-- Extension modules that require external sources -->
    <ExternalModules Include="_bz2;_lzma;_sqlite3" />
    <!-- venv launchers -->
    <Projects Include="venvlauncher.vcxproj;venvwlauncher.vcxproj" />
    <!-- _ssl will build _socket as well, which may cause conflicts in parallel builds -->
    <ExtensionModules Include="_socket" Condition="!$(IncludeSSL) or !$(IncludeExternals)" />
    <ExternalModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" />
    <ExternalModules Include="_tkinter" Condition="$(IncludeTkinter) and $(Platform) != 'ARM' and $(Platform) != 'ARM64'" />
    <ExtensionModules Include="@(ExternalModules->'%(Identity)')" Condition="$(IncludeExternals)" />
    <Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" />
    <!-- Test modules -->
    <TestModules Include="_ctypes_test;_testbuffer;_testcapi;_testinternalcapi;_testembed;_testimportmultiple;_testmultiphase;_testconsole" />
    <TestModules Include="xxlimited" Condition="'$(Configuration)' == 'Release'" />
    <Projects Include="@(TestModules->'%(Identity).vcxproj')" Condition="$(IncludeTests)">
      <!-- Disable parallel build for test modules -->
      <BuildInParallel>false</BuildInParallel>
    </Projects>

    <!-- _freeze_importlib -->
    <Projects2 Condition="$(Platform) != 'ARM' and $(Platform) != 'ARM64'" Include="_freeze_importlib.vcxproj" />
    <!-- python[w].exe -->
    <Projects2 Include="python.vcxproj;pythonw.vcxproj" />
    <Projects2 Include="python_uwp.vcxproj;pythonw_uwp.vcxproj" Condition="$(IncludeUwp)" />
    <!-- venv[w]launcher.exe -->
    <Projects2 Include="venvlauncher.vcxproj;venvwlauncher.vcxproj" />
  </ItemGroup>

  <Target Name="Build">
    <MSBuild Projects="@(Projects)"
             Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
             BuildInParallel="%(BuildInParallel)"
             StopOnFirstFailure="true"
             Targets="%(BuildTarget)" />
    <MSBuild Projects="@(Projects2)"
             Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
             BuildInParallel="%(BuildInParallel)"
             StopOnFirstFailure="true"
             Targets="%(BuildTarget)" />
  </Target>

  <Target Name="Clean">
    <MSBuild Projects="@(Projects2)"
             Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
             BuildInParallel="%(BuildInParallel)"
             StopOnFirstFailure="false"
             Condition="%(CleanTarget) != ''"
             Targets="%(CleanTarget)" />
    <MSBuild Projects="@(Projects)"
             Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
             BuildInParallel="%(BuildInParallel)"
             StopOnFirstFailure="false"
             Condition="%(CleanTarget) != ''"
             Targets="%(CleanTarget)" />
  </Target>

  <Target Name="CleanAll">
    <MSBuild Projects="@(Projects2)"
             Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
             BuildInParallel="%(BuildInParallel)"
             StopOnFirstFailure="false"
             Condition="%(CleanAllTarget) != ''"
             Targets="%(CleanAllTarget)" />
    <MSBuild Projects="@(Projects)"
             Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
             BuildInParallel="%(BuildInParallel)"
             StopOnFirstFailure="false"
             Condition="%(CleanAllTarget) != ''"
             Targets="%(CleanAllTarget)" />
  </Target>

  <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
  <Target Name="RebuildAll" DependsOnTargets="CleanAll;Build" />
</Project>
