blob: c320434de827f219b6e0878d3b9cdb33ab101db0 [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>
Zachary Wareb27f3c32015-09-03 23:43:54 -05008 <IncludeExternals Condition="'$(IncludeExternals)' == ''">true</IncludeExternals>
Steve Dower65e4cb12014-11-22 12:54:57 -08009 <IncludeTests Condition="'$(IncludeTest)' == ''">true</IncludeTests>
10 <IncludeSSL Condition="'$(IncludeSSL)' == ''">true</IncludeSSL>
Zachary Wareb27f3c32015-09-03 23:43:54 -050011 <IncludeTkinter Condition="'$(IncludeTkinter)' == ''">true</IncludeTkinter>
Steve Dower65e4cb12014-11-22 12:54:57 -080012 </PropertyGroup>
13
14 <ItemDefinitionGroup>
15 <Projects>
16 <Platform>$(Platform)</Platform>
17 <Configuration>$(Configuration)</Configuration>
18 <Properties></Properties>
19 <BuildTarget>Build</BuildTarget>
20 <CleanTarget>Clean</CleanTarget>
21 <CleanAllTarget>CleanAll</CleanAllTarget>
22 <BuildInParallel>true</BuildInParallel>
23 </Projects>
Steve Dower6fd76bc2016-07-16 16:13:19 -070024 <Projects2>
25 <Platform>$(Platform)</Platform>
26 <Configuration>$(Configuration)</Configuration>
27 <Properties></Properties>
28 <BuildTarget>Build</BuildTarget>
29 <CleanTarget>Clean</CleanTarget>
30 <CleanAllTarget>CleanAll</CleanAllTarget>
31 <BuildInParallel>true</BuildInParallel>
32 </Projects2>
Steve Dower65e4cb12014-11-22 12:54:57 -080033 </ItemDefinitionGroup>
34 <ItemGroup>
35 <!-- pythonXY.dll -->
36 <!--
37 Parallel build is explicitly disabled for this project because it
38 causes many conflicts between pythoncore and projects that depend
Zachary Wareb27f3c32015-09-03 23:43:54 -050039 on pythoncore. Once the core DLL has been built, subsequent
Steve Dower65e4cb12014-11-22 12:54:57 -080040 projects will be built in parallel.
41 -->
42 <Projects Include="pythoncore.vcxproj">
43 <BuildInParallel>false</BuildInParallel>
44 </Projects>
Steve Dower65e4cb12014-11-22 12:54:57 -080045 <!-- python3.dll -->
46 <Projects Include="python3dll.vcxproj" />
47 <!-- py[w].exe -->
48 <Projects Include="pylauncher.vcxproj;pywlauncher.vcxproj" />
Steve Dowerdf450d12016-07-16 16:17:33 -070049 <!-- pyshellext.dll -->
50 <Projects Include="pyshellext.vcxproj" />
Steve Dower65e4cb12014-11-22 12:54:57 -080051 <!-- _freeze_importlib -->
52 <Projects Include="_freeze_importlib.vcxproj" />
53 <!-- Extension modules -->
Zachary Wareb27f3c32015-09-03 23:43:54 -050054 <ExtensionModules Include="_ctypes;_decimal;_elementtree;_msi;_multiprocessing;_overlapped;pyexpat;select;unicodedata;winsound" />
55 <!-- Extension modules that require external sources -->
56 <ExternalModules Include="_bz2;_lzma;_sqlite3" />
Steve Dower65e4cb12014-11-22 12:54:57 -080057 <!-- _ssl will build _socket as well, which may cause conflicts in parallel builds -->
Zachary Wareb27f3c32015-09-03 23:43:54 -050058 <ExtensionModules Include="_socket" Condition="!$(IncludeSSL) or !$(IncludeExternals)" />
59 <ExternalModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" />
60 <ExternalModules Include="_tkinter;tix" Condition="$(IncludeTkinter)" />
61 <ExtensionModules Include="@(ExternalModules->'%(Identity)')" Condition="$(IncludeExternals)" />
Steve Dower65e4cb12014-11-22 12:54:57 -080062 <Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" />
63 <!-- Test modules -->
Steve Dower42a059b2015-05-23 17:51:54 -070064 <TestModules Include="_ctypes_test;_testbuffer;_testcapi;_testembed;_testimportmultiple;_testmultiphase" />
Steve Dower65e4cb12014-11-22 12:54:57 -080065 <TestModules Include="xxlimited" Condition="'$(Configuration)' == 'Release'" />
66 <Projects Include="@(TestModules->'%(Identity).vcxproj')" Condition="$(IncludeTests)">
67 <!-- Disable parallel build for test modules -->
68 <BuildInParallel>false</BuildInParallel>
69 </Projects>
Steve Dower945863a2016-07-13 19:58:21 -070070
71 <!-- python[w].exe -->
Steve Dower6fd76bc2016-07-16 16:13:19 -070072 <Projects2 Include="python.vcxproj;pythonw.vcxproj">
Steve Dower945863a2016-07-13 19:58:21 -070073 <BuildInParallel>false</BuildInParallel>
Steve Dower6fd76bc2016-07-16 16:13:19 -070074 </Projects2>
Steve Dower65e4cb12014-11-22 12:54:57 -080075 </ItemGroup>
76
77 <Target Name="Build">
78 <MSBuild Projects="@(Projects)"
79 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
80 BuildInParallel="%(BuildInParallel)"
Steve Dower945863a2016-07-13 19:58:21 -070081 StopOnFirstFailure="true"
Steve Dower65e4cb12014-11-22 12:54:57 -080082 Targets="%(BuildTarget)" />
Steve Dower6fd76bc2016-07-16 16:13:19 -070083 <MSBuild Projects="@(Projects2)"
84 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
85 BuildInParallel="%(BuildInParallel)"
86 StopOnFirstFailure="true"
87 Targets="%(BuildTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -080088 </Target>
89
90 <Target Name="Clean">
Steve Dower6fd76bc2016-07-16 16:13:19 -070091 <MSBuild Projects="@(Projects2)"
92 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
93 BuildInParallel="%(BuildInParallel)"
94 StopOnFirstFailure="false"
95 Condition="%(CleanTarget) != ''"
96 Targets="%(CleanTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -080097 <MSBuild Projects="@(Projects)"
98 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
99 BuildInParallel="%(BuildInParallel)"
100 StopOnFirstFailure="false"
101 Condition="%(CleanTarget) != ''"
102 Targets="%(CleanTarget)" />
103 </Target>
104
105 <Target Name="CleanAll">
Steve Dower6fd76bc2016-07-16 16:13:19 -0700106 <MSBuild Projects="@(Projects2)"
107 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
108 BuildInParallel="%(BuildInParallel)"
109 StopOnFirstFailure="false"
110 Condition="%(CleanAllTarget) != ''"
111 Targets="%(CleanAllTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -0800112 <MSBuild Projects="@(Projects)"
113 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
114 BuildInParallel="%(BuildInParallel)"
115 StopOnFirstFailure="false"
116 Condition="%(CleanAllTarget) != ''"
117 Targets="%(CleanAllTarget)" />
118 </Target>
119
120 <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
121 <Target Name="RebuildAll" DependsOnTargets="CleanAll;Build" />
122</Project>