summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--windows/msvc/common.props11
-rw-r--r--windows/msvc/env.props9
-rw-r--r--windows/msvc/genhdr.targets13
-rw-r--r--windows/msvc/sources.props4
4 files changed, 26 insertions, 11 deletions
diff --git a/windows/msvc/common.props b/windows/msvc/common.props
index ce0651d2e6..4bc5df5413 100644
--- a/windows/msvc/common.props
+++ b/windows/msvc/common.props
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets" />
+ <ImportGroup Label="PropertySheets">
+ <Import Project="env.props" />
+ </ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
- <OutDir>$(ProjectDir)</OutDir>
- <IntDir>$(ProjectDir)build\$(Configuration)$(Platform)\</IntDir>
+ <OutDir>$(PyOutDir)</OutDir>
+ <IntDir>$(PyBuildDir)$(Configuration)$(Platform)\</IntDir>
+ <PyIncDirs>$(PyBaseDir);$(PyBaseDir)windows;$(PyBaseDir)windows\msvc;$(PyBuildDir)</PyIncDirs>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <AdditionalIncludeDirectories>.\;..\;.\build;.\msvc</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>$(PyIncDirs);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_USE_MATH_DEFINES;_CRT_SECURE_NO_WARNINGS;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<WarningLevel>Level1</WarningLevel>
diff --git a/windows/msvc/env.props b/windows/msvc/env.props
new file mode 100644
index 0000000000..824b529e67
--- /dev/null
+++ b/windows/msvc/env.props
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <PyBaseDir>$([System.IO.Path]::GetFullPath(`$(MSBuildThisFileDirectory)..\..`))\</PyBaseDir>
+ <PyBuildDir Condition="'$(PyBuildDir)'==''">$(MSBuildThisFileDirectory)build\</PyBuildDir>
+ <PyOutDir Condition="'$(PyOutDir)'==''">$(PyBaseDir)windows\</PyOutDir>
+ <PyEnvIncluded>True</PyEnvIncluded>
+ </PropertyGroup>
+</Project>
diff --git a/windows/msvc/genhdr.targets b/windows/msvc/genhdr.targets
index e359b44419..fe0abbe093 100644
--- a/windows/msvc/genhdr.targets
+++ b/windows/msvc/genhdr.targets
@@ -1,12 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="GenerateHeaders">
+ <Import Project="env.props" Condition="$(PyEnvIncluded)!=True"/>
+
<Target Name="GenerateHeaders" DependsOnTargets="MakeQstrData;MakeVersionHeader">
</Target>
<PropertyGroup>
- <SrcDir>$(MsBuildThisFileDirectory)..\..\py\</SrcDir>
- <DestDir>$(MsBuildThisFileDirectory)..\build\genhdr\</DestDir>
+ <SrcDir>$(PyBaseDir)py\</SrcDir>
+ <DestDir>$(PyBuildDir)genhdr\</DestDir>
</PropertyGroup>
<Target Name="MakeDestDir">
@@ -17,10 +19,13 @@
<Target Name="MakeQstrData" DependsOnTargets="MakeDestDir">
<PropertyGroup>
<PreProc>$(DestDir)qstrdefs.preprocessed.h</PreProc>
- <QstrDefs>$(MsBuildThisFileDirectory)..\..\unix\qstrdefsport.h</QstrDefs>
+ <QstrDefs>$(PyBaseDir)unix\qstrdefsport.h</QstrDefs>
<DestFile>$(DestDir)qstrdefs.generated.h</DestFile>
</PropertyGroup>
- <Exec Command="cl /nologo /I$(SrcDir) /I$(MsBuildThisFileDirectory).. /Fi$(PreProc) /P $(SrcDir)qstrdefs.h"/>
+ <ItemGroup>
+ <PyIncDirs Include="$(PyIncDirs)"/>
+ </ItemGroup>
+ <Exec Command="cl /nologo /I@(PyIncDirs, ' /I') /Fi$(PreProc) /P $(SrcDir)qstrdefs.h"/>
<Exec Command="python $(SrcDir)makeqstrdata.py $(PreProc) $(QstrDefs) > $(DestFile).tmp"/>
<Exec Command="fc /B $(DestFile).tmp $(DestFile) > NUL 2>&amp;1" IgnoreExitCode="true">
<Output TaskParameter="ExitCode" PropertyName="FilesDiffer" />
diff --git a/windows/msvc/sources.props b/windows/msvc/sources.props
index 364f36b044..7ec0b652bd 100644
--- a/windows/msvc/sources.props
+++ b/windows/msvc/sources.props
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <PyBaseDir>$(MsbuildThisFileDirectory)..\..\</PyBaseDir>
- </PropertyGroup>
+ <Import Project="env.props" Condition="$(PyEnvIncluded)!=True"/>
<ItemGroup>
<ClCompile Include="$(PyBaseDir)py\*.c" />
<ClCompile Include="$(PyBaseDir)extmod\*.c" />