blob: c6b8487c0a2d9b8a721d9f30b363455a7330d171 [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>
Steve Dower10beb3c2016-12-12 11:17:59 -080031 <BuildInParallel>false</BuildInParallel>
Steve Dower6fd76bc2016-07-16 16:13:19 -070032 </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 <!-- Extension modules -->
INADA Naokia8363622016-10-21 12:30:15 +090052 <ExtensionModules Include="_asyncio;_ctypes;_decimal;_elementtree;_msi;_multiprocessing;_overlapped;pyexpat;select;unicodedata;winsound" />
Zachary Wareb27f3c32015-09-03 23:43:54 -050053 <!-- Extension modules that require external sources -->
54 <ExternalModules Include="_bz2;_lzma;_sqlite3" />
Steve Dower65e4cb12014-11-22 12:54:57 -080055 <!-- _ssl will build _socket as well, which may cause conflicts in parallel builds -->
Zachary Wareb27f3c32015-09-03 23:43:54 -050056 <ExtensionModules Include="_socket" Condition="!$(IncludeSSL) or !$(IncludeExternals)" />
57 <ExternalModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" />
58 <ExternalModules Include="_tkinter;tix" Condition="$(IncludeTkinter)" />
59 <ExtensionModules Include="@(ExternalModules->'%(Identity)')" Condition="$(IncludeExternals)" />
Steve Dower65e4cb12014-11-22 12:54:57 -080060 <Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" />
61 <!-- Test modules -->
Steve Dower312cef72016-10-03 09:04:58 -070062 <TestModules Include="_ctypes_test;_testbuffer;_testcapi;_testembed;_testimportmultiple;_testmultiphase;_testconsole" />
Steve Dower65e4cb12014-11-22 12:54:57 -080063 <TestModules Include="xxlimited" Condition="'$(Configuration)' == 'Release'" />
64 <Projects Include="@(TestModules->'%(Identity).vcxproj')" Condition="$(IncludeTests)">
65 <!-- Disable parallel build for test modules -->
66 <BuildInParallel>false</BuildInParallel>
67 </Projects>
Steve Dower945863a2016-07-13 19:58:21 -070068
Steve Dower10beb3c2016-12-12 11:17:59 -080069 <!-- _freeze_importlib -->
70 <Projects2 Include="_freeze_importlib.vcxproj" />
Steve Dower945863a2016-07-13 19:58:21 -070071 <!-- python[w].exe -->
Steve Dower10beb3c2016-12-12 11:17:59 -080072 <Projects2 Include="python.vcxproj;pythonw.vcxproj" />
Steve Dower65e4cb12014-11-22 12:54:57 -080073 </ItemGroup>
74
75 <Target Name="Build">
76 <MSBuild Projects="@(Projects)"
77 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
78 BuildInParallel="%(BuildInParallel)"
Steve Dower945863a2016-07-13 19:58:21 -070079 StopOnFirstFailure="true"
Steve Dower65e4cb12014-11-22 12:54:57 -080080 Targets="%(BuildTarget)" />
Steve Dower6fd76bc2016-07-16 16:13:19 -070081 <MSBuild Projects="@(Projects2)"
82 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
83 BuildInParallel="%(BuildInParallel)"
84 StopOnFirstFailure="true"
85 Targets="%(BuildTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -080086 </Target>
87
88 <Target Name="Clean">
Steve Dower6fd76bc2016-07-16 16:13:19 -070089 <MSBuild Projects="@(Projects2)"
90 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
91 BuildInParallel="%(BuildInParallel)"
92 StopOnFirstFailure="false"
93 Condition="%(CleanTarget) != ''"
94 Targets="%(CleanTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -080095 <MSBuild Projects="@(Projects)"
96 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
97 BuildInParallel="%(BuildInParallel)"
98 StopOnFirstFailure="false"
99 Condition="%(CleanTarget) != ''"
100 Targets="%(CleanTarget)" />
101 </Target>
102
103 <Target Name="CleanAll">
Steve Dower6fd76bc2016-07-16 16:13:19 -0700104 <MSBuild Projects="@(Projects2)"
105 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
106 BuildInParallel="%(BuildInParallel)"
107 StopOnFirstFailure="false"
108 Condition="%(CleanAllTarget) != ''"
109 Targets="%(CleanAllTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -0800110 <MSBuild Projects="@(Projects)"
111 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
112 BuildInParallel="%(BuildInParallel)"
113 StopOnFirstFailure="false"
114 Condition="%(CleanAllTarget) != ''"
115 Targets="%(CleanAllTarget)" />
116 </Target>
117
118 <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
119 <Target Name="RebuildAll" DependsOnTargets="CleanAll;Build" />
120</Project>