blob: 8e7088d47d2aed380eff9ff6f136e461720ee056 [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'" />
Petr Viktorinc168b502020-12-08 17:36:53 +010069 <TestModules Include="xxlimited_35" Condition="'$(Configuration)' == 'Release'" />
Steve Dower65e4cb12014-11-22 12:54:57 -080070 <Projects Include="@(TestModules->'%(Identity).vcxproj')" Condition="$(IncludeTests)">
71 <!-- Disable parallel build for test modules -->
72 <BuildInParallel>false</BuildInParallel>
73 </Projects>
Victor Stinner23bace22019-04-18 11:37:26 +020074
Steve Dower10beb3c2016-12-12 11:17:59 -080075 <!-- _freeze_importlib -->
Paul Monsonf96e7fd2019-05-17 10:07:24 -070076 <Projects2 Condition="$(Platform) != 'ARM' and $(Platform) != 'ARM64'" Include="_freeze_importlib.vcxproj" />
Steve Dower945863a2016-07-13 19:58:21 -070077 <!-- python[w].exe -->
Steve Dower10beb3c2016-12-12 11:17:59 -080078 <Projects2 Include="python.vcxproj;pythonw.vcxproj" />
Steve Dower0cd63912018-12-10 18:52:57 -080079 <Projects2 Include="python_uwp.vcxproj;pythonw_uwp.vcxproj" Condition="$(IncludeUwp)" />
Steve Dower1c3de542018-12-10 08:11:21 -080080 <!-- venv[w]launcher.exe -->
81 <Projects2 Include="venvlauncher.vcxproj;venvwlauncher.vcxproj" />
Steve Dower65e4cb12014-11-22 12:54:57 -080082 </ItemGroup>
83
84 <Target Name="Build">
85 <MSBuild Projects="@(Projects)"
86 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
87 BuildInParallel="%(BuildInParallel)"
Steve Dower945863a2016-07-13 19:58:21 -070088 StopOnFirstFailure="true"
Steve Dower65e4cb12014-11-22 12:54:57 -080089 Targets="%(BuildTarget)" />
Steve Dower6fd76bc2016-07-16 16:13:19 -070090 <MSBuild Projects="@(Projects2)"
91 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
92 BuildInParallel="%(BuildInParallel)"
93 StopOnFirstFailure="true"
94 Targets="%(BuildTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -080095 </Target>
96
97 <Target Name="Clean">
Steve Dower6fd76bc2016-07-16 16:13:19 -070098 <MSBuild Projects="@(Projects2)"
99 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
100 BuildInParallel="%(BuildInParallel)"
101 StopOnFirstFailure="false"
102 Condition="%(CleanTarget) != ''"
103 Targets="%(CleanTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -0800104 <MSBuild Projects="@(Projects)"
105 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
106 BuildInParallel="%(BuildInParallel)"
107 StopOnFirstFailure="false"
108 Condition="%(CleanTarget) != ''"
109 Targets="%(CleanTarget)" />
110 </Target>
111
112 <Target Name="CleanAll">
Steve Dower6fd76bc2016-07-16 16:13:19 -0700113 <MSBuild Projects="@(Projects2)"
114 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
115 BuildInParallel="%(BuildInParallel)"
116 StopOnFirstFailure="false"
117 Condition="%(CleanAllTarget) != ''"
118 Targets="%(CleanAllTarget)" />
Steve Dower65e4cb12014-11-22 12:54:57 -0800119 <MSBuild Projects="@(Projects)"
120 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
121 BuildInParallel="%(BuildInParallel)"
122 StopOnFirstFailure="false"
123 Condition="%(CleanAllTarget) != ''"
124 Targets="%(CleanAllTarget)" />
125 </Target>
126
127 <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
128 <Target Name="RebuildAll" DependsOnTargets="CleanAll;Build" />
Zachary Wared01db1c2017-09-06 17:29:37 -0700129</Project>