1<?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 <IncludeExternals Condition="'$(IncludeExternals)' == ''">true</IncludeExternals> 9 <IncludeTests Condition="'$(IncludeTest)' == ''">true</IncludeTests> 10 <IncludeCTypes Condition="'$(IncludeCTypes)' == ''">true</IncludeCTypes> 11 <IncludeSSL Condition="'$(IncludeSSL)' == ''">true</IncludeSSL> 12 <IncludeTkinter Condition="'$(IncludeTkinter)' == ''">true</IncludeTkinter> 13 <IncludeUwp Condition="'$(IncludeUwp)' == ''">false</IncludeUwp> 14 </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> 26 <Projects2> 27 <Platform>$(Platform)</Platform> 28 <Configuration>$(Configuration)</Configuration> 29 <Properties></Properties> 30 <BuildTarget>Build</BuildTarget> 31 <CleanTarget>Clean</CleanTarget> 32 <CleanAllTarget>CleanAll</CleanAllTarget> 33 <BuildInParallel>false</BuildInParallel> 34 </Projects2> 35 </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 41 on pythoncore. Once the core DLL has been built, subsequent 42 projects will be built in parallel. 43 --> 44 <Projects Include="pythoncore.vcxproj"> 45 <BuildInParallel>false</BuildInParallel> 46 </Projects> 47 <!-- python3.dll --> 48 <Projects Include="python3dll.vcxproj" /> 49 <!-- py[w].exe --> 50 <Projects Include="pylauncher.vcxproj;pywlauncher.vcxproj" /> 51 <!-- pyshellext.dll --> 52 <Projects Include="pyshellext.vcxproj" /> 53 <!-- Extension modules --> 54 <ExtensionModules Include="_asyncio;_zoneinfo;_decimal;_elementtree;_msi;_multiprocessing;_overlapped;pyexpat;_queue;select;unicodedata;winsound;_uuid" /> 55 <ExtensionModules Include="_ctypes" Condition="$(IncludeCTypes)" /> 56 <!-- Extension modules that require external sources --> 57 <ExternalModules Include="_bz2;_lzma;_sqlite3" /> 58 <!-- venv launchers --> 59 <Projects Include="venvlauncher.vcxproj;venvwlauncher.vcxproj" /> 60 <!-- _ssl will build _socket as well, which may cause conflicts in parallel builds --> 61 <ExtensionModules Include="_socket" Condition="!$(IncludeSSL) or !$(IncludeExternals)" /> 62 <ExternalModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" /> 63 <ExternalModules Include="_tkinter" Condition="$(IncludeTkinter) and $(Platform) != 'ARM' and $(Platform) != 'ARM64'" /> 64 <ExtensionModules Include="@(ExternalModules->'%(Identity)')" Condition="$(IncludeExternals)" /> 65 <Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" /> 66 <!-- Test modules --> 67 <TestModules Include="_ctypes_test;_testbuffer;_testcapi;_testinternalcapi;_testembed;_testimportmultiple;_testmultiphase;_testconsole" /> 68 <TestModules Include="xxlimited" Condition="'$(Configuration)' == 'Release'" /> 69 <TestModules Include="xxlimited_35" Condition="'$(Configuration)' == 'Release'" /> 70 <Projects Include="@(TestModules->'%(Identity).vcxproj')" Condition="$(IncludeTests)"> 71 <!-- Disable parallel build for test modules --> 72 <BuildInParallel>false</BuildInParallel> 73 </Projects> 74 75 <!-- _freeze_importlib --> 76 <Projects2 Condition="$(Platform) != 'ARM' and $(Platform) != 'ARM64'" Include="_freeze_importlib.vcxproj" /> 77 <!-- python[w].exe --> 78 <Projects2 Include="python.vcxproj;pythonw.vcxproj" /> 79 <Projects2 Include="python_uwp.vcxproj;pythonw_uwp.vcxproj" Condition="$(IncludeUwp)" /> 80 <!-- venv[w]launcher.exe --> 81 <Projects2 Include="venvlauncher.vcxproj;venvwlauncher.vcxproj" /> 82 </ItemGroup> 83 84 <Target Name="Build"> 85 <MSBuild Projects="@(Projects)" 86 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)" 87 BuildInParallel="%(BuildInParallel)" 88 StopOnFirstFailure="true" 89 Targets="%(BuildTarget)" /> 90 <MSBuild Projects="@(Projects2)" 91 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)" 92 BuildInParallel="%(BuildInParallel)" 93 StopOnFirstFailure="true" 94 Targets="%(BuildTarget)" /> 95 </Target> 96 97 <Target Name="Clean"> 98 <MSBuild Projects="@(Projects2)" 99 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)" 100 BuildInParallel="%(BuildInParallel)" 101 StopOnFirstFailure="false" 102 Condition="%(CleanTarget) != ''" 103 Targets="%(CleanTarget)" /> 104 <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"> 113 <MSBuild Projects="@(Projects2)" 114 Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)" 115 BuildInParallel="%(BuildInParallel)" 116 StopOnFirstFailure="false" 117 Condition="%(CleanAllTarget) != ''" 118 Targets="%(CleanAllTarget)" /> 119 <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" /> 129</Project> 130