blob: 813831e3a468a99a0a3eed0317d961b9b55b83e0 [file] [log] [blame]
Steve Dower65e4cb12014-11-22 12:54:57 -08001<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <PropertyGroup Label="Globals">
4 <ProjectGuid>{CC9B93A2-439D-4058-9D29-6DCF43774405}</ProjectGuid>
5 <Platform Condition="'$(Platform)' == ''">Win32</Platform>
6 <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
7 <IncludeExtensions Condition="'$(IncludeExtensions)' == ''">true</IncludeExtensions>
8 <IncludeTests Condition="'$(IncludeTest)' == ''">true</IncludeTests>
9 <IncludeSSL Condition="'$(IncludeSSL)' == ''">true</IncludeSSL>
10 </PropertyGroup>
11
12 <ItemDefinitionGroup>
13 <Projects>
14 <Platform>$(Platform)</Platform>
15 <Configuration>$(Configuration)</Configuration>
16 <Properties></Properties>
17 <BuildTarget>Build</BuildTarget>
18 <CleanTarget>Clean</CleanTarget>
19 <CleanAllTarget>CleanAll</CleanAllTarget>
20 <BuildInParallel>true</BuildInParallel>
21 </Projects>
22 </ItemDefinitionGroup>
23 <ItemGroup>
24 <!-- pythonXY.dll -->
25 <!--
26 Parallel build is explicitly disabled for this project because it
27 causes many conflicts between pythoncore and projects that depend
28 in pythoncore. Once the core DLL has been built, subsequent
29 projects will be built in parallel.
30 -->
31 <Projects Include="pythoncore.vcxproj">
32 <BuildInParallel>false</BuildInParallel>
33 </Projects>
34 <!-- python[w].exe -->
35 <Projects Include="python.vcxproj;pythonw.vcxproj" />
36 <!-- python3.dll -->
37 <Projects Include="python3dll.vcxproj" />
38 <!-- py[w].exe -->
39 <Projects Include="pylauncher.vcxproj;pywlauncher.vcxproj" />
Steve Dower65e4cb12014-11-22 12:54:57 -080040 <!-- _freeze_importlib -->
41 <Projects Include="_freeze_importlib.vcxproj" />
42 <!-- Extension modules -->
Zachary Warebd4b2472015-04-14 10:58:06 -050043 <ExtensionModules Include="_bz2;_ctypes;_decimal;_elementtree;_lzma;_msi;_multiprocessing;_overlapped;_sqlite3;_tkinter;tix;pyexpat;select;unicodedata;winsound" />
Steve Dower65e4cb12014-11-22 12:54:57 -080044 <!-- _ssl will build _socket as well, which may cause conflicts in parallel builds -->
45 <ExtensionModules Include="_socket" Condition="!$(IncludeSSL)" />
46 <ExtensionModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" />
47 <Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" />
48 <!-- Test modules -->
Steve Dower42a059b2015-05-23 17:51:54 -070049 <TestModules Include="_ctypes_test;_testbuffer;_testcapi;_testembed;_testimportmultiple;_testmultiphase" />
Steve Dower65e4cb12014-11-22 12:54:57 -080050 <TestModules Include="xxlimited" Condition="'$(Configuration)' == 'Release'" />
51 <Projects Include="@(TestModules->'%(Identity).vcxproj')" Condition="$(IncludeTests)">
52 <!-- Disable parallel build for test modules -->
53 <BuildInParallel>false</BuildInParallel>
54 </Projects>
55 </ItemGroup>
56
57 <Target Name="Build">
58 <MSBuild Projects="@(Projects)"
59 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
60 BuildInParallel="%(BuildInParallel)"
61 Targets="%(BuildTarget)" />
62 </Target>
63
64 <Target Name="Clean">
65 <MSBuild Projects="@(Projects)"
66 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
67 BuildInParallel="%(BuildInParallel)"
68 StopOnFirstFailure="false"
69 Condition="%(CleanTarget) != ''"
70 Targets="%(CleanTarget)" />
71 </Target>
72
73 <Target Name="CleanAll">
74 <MSBuild Projects="@(Projects)"
75 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
76 BuildInParallel="%(BuildInParallel)"
77 StopOnFirstFailure="false"
78 Condition="%(CleanAllTarget) != ''"
79 Targets="%(CleanAllTarget)" />
80 </Target>
81
82 <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
83 <Target Name="RebuildAll" DependsOnTargets="CleanAll;Build" />
84</Project>