<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <PyPathsIncluded>True</PyPathsIncluded>

    <!-- The properties below specify the output directory structure.
         This defaults to, for example for Configuration = Debug and Platform = x64:

         micropython [PyBaseDir]
          |- ...
          |- windows [PyWinDir]
              |- ...
              |- micropython.exe
              |- build [PyBuildDir]
                  |- Debugx64 [PyOutDir]
                  |   |- ...
                  |   |- micropython.exe
                  |   |- micropython.map
                  |   |- obj [PyIntDir]
                  |- genhdr

         Note that the micropython executable will be copied from PyOutDir
         to PyWinDir after each build. -->

    <!-- Start from project root -->
    <PyBaseDir>$([System.IO.Path]::GetFullPath(`$(MSBuildThisFileDirectory)..\..`))\</PyBaseDir>
    <PyWinDir>$(PyBaseDir)windows\</PyWinDir>
    <PyBuildDir Condition="'$(PyBuildDir)' == ''">$(PyWinDir)build\</PyBuildDir>

    <!-- All include directories needed for uPy -->
    <PyIncDirs>$(PyBaseDir);$(PyWinDir);$(PyBuildDir);$(PyWinDir)msvc</PyIncDirs>

    <!-- Within PyBuildDir different subdirectories are used based on configuration and platform.
         By default these are chosen based on the Configuration and Platform properties, but
         this file might be imported by other projects (to figure out where the artifacts go
         or what the include files are) and those projects might already contain conflicting
         Configuration/Platform properties, so allow to override these -->
    <PyPlatform Condition="'$(PyPlatform)' == ''">$(Platform)</PyPlatform>
    <PyConfiguration Condition="'$(PyConfiguration)' == ''">$(Configuration)</PyConfiguration>

    <!-- The final destination directories -->
    <PyOutDir>$(PyBuildDir)$(PyConfiguration)$(PyPlatform)\</PyOutDir>
    <PyIntDir>$(PyOutDir)obj\</PyIntDir>
  </PropertyGroup>
</Project>