blob: 4d416c589e4c47e2cd51cd1c9aebb75226c6975c [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>
Paul Monsonf96e7fd2019-05-17 10:07:24 -070010 <IncludeCTypes Condition="'$(IncludeCTypes)' == ''">true</IncludeCTypes>
Steve Dower65e4cb12014-11-22 12:54:57 -080011 <IncludeSSL Condition="'$(IncludeSSL)' == ''">true</IncludeSSL>
Zachary Wareb27f3c32015-09-03 23:43:54 -050012 <IncludeTkinter Condition="'$(IncludeTkinter)' == ''">true</IncludeTkinter>
Steve Dower0cd63912018-12-10 18:52:57 -080013 <IncludeUwp Condition="'$(IncludeUwp)' == ''">false</IncludeUwp>
Steve Dower65e4cb12014-11-22 12:54:57 -080014 </PropertyGroup>
15
16 <ItemDefinitionGroup>
17 <Projects>
18 <Platform>$(Platform)</Platform>
19 <Configuration>$(Configuration)</Configuration>
20 <Properties></Properties>
21 <BuildTarget>Build</BuildTarget>
22 <CleanTarget>Clean</CleanTarget>
23 <CleanAllTarget>CleanAll</CleanAllTarget>
24 <BuildInParallel>true</BuildInParallel>
25 </Projects>
Steve Dower6fd76bc2016-07-16 16:13:19 -070026 <Projects2>
27 <Platform>$(Platform)</Platform>
28 <Configuration>$(Configuration)</Configuration>
29 <Properties></Properties>
30 <BuildTarget>Build</BuildTarget>
31 <CleanTarget>Clean</CleanTarget>
32 <CleanAllTarget>CleanAll</CleanAllTarget>
Steve Dower10beb3c2016-12-12 11:17:59 -080033 <BuildInParallel>false</BuildInParallel>
Steve Dower6fd76bc2016-07-16 16:13:19 -070034 </Projects2>
Steve Dower65e4cb12014-11-22 12:54:57 -080035 </ItemDefinitionGroup>
36 <ItemGroup>
37 <!-- pythonXY.dll -->
38 <!--
39 Parallel build is explicitly disabled for this project because it
40 causes many conflicts between pythoncore and projects that depend
Zachary Wareb27f3c32015-09-03 23:43:54 -050041 on pythoncore. Once the core DLL has been built, subsequent
Steve Dower65e4cb12014-11-22 12:54:57 -080042 projects will be built in parallel.
43 -->
44 <Projects Include="pythoncore.vcxproj">
45 <BuildInParallel>false</BuildInParallel>
46 </Projects>
Steve Dower65e4cb12014-11-22 12:54:57 -080047 <!-- python3.dll -->
48 <Projects Include="python3dll.vcxproj" />
49 <!-- py[w].exe -->
50 <Projects Include="pylauncher.vcxproj;pywlauncher.vcxproj" />
Steve Dowerdf450d12016-07-16 16:17:33 -070051 <!-- pyshellext.dll -->
52 <Projects Include="pyshellext.vcxproj" />
Steve Dower65e4cb12014-11-22 12:54:57 -080053 <!-- Extension modules -->
Paul Ganssle62972d92020-05-16 04:20:06 -040054 <ExtensionModules Include="_asyncio;_zoneinfo;_decimal;_elementtree;_msi;_multiprocessing;_overlapped;pyexpat;_queue;select;unicodedata;winsound;_uuid" />
Paul Monsonf96e7fd2019-05-17 10:07:24 -070055 <ExtensionModules Include="_ctypes" Condition="$(IncludeCTypes)" />
Zachary Wareb27f3c32015-09-03 23:43:54 -050056 <!-- Extension modules that require external sources -->
57 <ExternalModules Include="_bz2;_lzma;_sqlite3" />
Steve Dower0cd63912018-12-10 18:52:57 -080058 <!-- venv launchers -->
59 <Projects Include="venvlauncher.vcxproj;venvwlauncher.vcxproj" />
Steve Dower65e4cb12014-11-22 12:54:57 -080060 <!-- _ssl will build _socket as well, which may cause conflicts in parallel builds -->
Zachary Wareb27f3c32015-09-03 23:43:54 -050061 <ExtensionModules Include="_socket" Condition="!$(IncludeSSL) or !$(IncludeExternals)" />
62 <ExternalModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" />
Steve Dowerde148f22019-11-20 09:30:47 -080063 <ExternalModules Include="_tkinter" Condition="$(IncludeTkinter) and $(Platform) != 'ARM' and $(Platform) != 'ARM64'" />
Zachary Wareb27f3c32015-09-03 23:43:54 -050064 <ExtensionModules Include="@(ExternalModules->'%(Identity)')" Condition="$(IncludeExternals)" />
Steve Dower65e4cb12014-11-22 12:54:57 -080065 <Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" />
66 <!-- Test modules -->
Victor Stinner23bace22019-04-18 11:37:26 +020067 <TestModules Include="_ctypes_test;_testbuffer;_testcapi;_testinternalcapi;_testembed;_testimportmultiple;_testmultiphase;_testconsole" />
Steve Dower65e4cb12014-11-22 12:54:57 -080068 <TestModules Include="xxlimited" Condition="'$(Configuration)' == 'Release'" />
69 <Projects Include="@(TestModules->'%(Identity).vcxproj')" Condition="$(IncludeTests)">
70 <!-- Disable parallel build for test modules -->
71 <BuildInParallel>false</BuildInParallel>
72 </Projects>
Victor Stinner23bace22019-04-18 11:37:26 +020073
Steve Dower10beb3c2016-12-12 11:17:59 -080074 <!-- _freeze_importlib -->
Paul Monsonf96e7fd2019-05-17 10:07:24 -070075 <Projects2 Condition="$(Platform) != 'ARM' and $(Platform) != 'ARM64'" Include="_freeze_importlib.vcxproj" />
Steve Dower945863a2016-07-13 19:58:21 -070076 <!-- python[w].exe -->
Steve Dower10beb3c2016-12-12 11:17:59 -080077 <Projects2 Include="python.vcxproj;pythonw.vcxproj" />
Steve Dower0cd63912018-12-10 18:52:57 -080078 <Projects2 Include="python_uwp.vcxproj;pythonw_uwp.vcxproj" Condition="$(IncludeUwp)" />
Steve Dower1c3de542018-12-10 08:11:21 -080079 <!-- venv[w]launcher.exe -->
80 <Projects2 Include="venvlauncher.vcxproj;venvwlauncher.vcxproj" />
Steve Dower65e4cb12014-11-22 12:54:57 -080081 </ItemGroup>
82
83 <Target Name="Build">
84 <MSBuild Projects="@(Projects)"
85 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
86 BuildInParallel="%(BuildInParallel)"
Steve Dower945863a2016-07-13 19:58:21 -070087 StopOnFirstFailure="true"
Steve Dower65e4cb12014-11-22 12:54:57 -080088 Targets="%(BuildTarget)" />
Steve Dower6fd76bc2016-07-16 16:13:19 -070089 <MSBuild Projects="@(Projects2)"
90 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
91 BuildInParallel="%(BuildInParallel)"
92 StopOnFirstFailure="true"
93 Targets="%(BuildTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -080094 </Target>
95
96 <Target Name="Clean">
Steve Dower6fd76bc2016-07-16 16:13:19 -070097 <MSBuild Projects="@(Projects2)"
98 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
99 BuildInParallel="%(BuildInParallel)"
100 StopOnFirstFailure="false"
101 Condition="%(CleanTarget) != ''"
102 Targets="%(CleanTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -0800103 <MSBuild Projects="@(Projects)"
104 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
105 BuildInParallel="%(BuildInParallel)"
106 StopOnFirstFailure="false"
107 Condition="%(CleanTarget) != ''"
108 Targets="%(CleanTarget)" />
109 </Target>
110
111 <Target Name="CleanAll">
Steve Dower6fd76bc2016-07-16 16:13:19 -0700112 <MSBuild Projects="@(Projects2)"
113 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
114 BuildInParallel="%(BuildInParallel)"
115 StopOnFirstFailure="false"
116 Condition="%(CleanAllTarget) != ''"
117 Targets="%(CleanAllTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -0800118 <MSBuild Projects="@(Projects)"
119 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
120 BuildInParallel="%(BuildInParallel)"
121 StopOnFirstFailure="false"
122 Condition="%(CleanAllTarget) != ''"
123 Targets="%(CleanAllTarget)" />
124 </Target>
125
126 <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
127 <Target Name="RebuildAll" DependsOnTargets="CleanAll;Build" />
Zachary Wared01db1c2017-09-06 17:29:37 -0700128</Project>