diff options
-rw-r--r-- | windows/msvc/common.props | 11 | ||||
-rw-r--r-- | windows/msvc/env.props | 9 | ||||
-rw-r--r-- | windows/msvc/genhdr.targets | 13 | ||||
-rw-r--r-- | windows/msvc/sources.props | 4 |
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>&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" /> |