windows/msvc: Add a build target for updating submodules.

This is more consistent with the Makefile/CMake-based builds.

Signed-off-by: stijn <stijn@ignitron.net>
pull/12810/head
stijn 2024-03-25 14:33:50 +01:00
rodzic 170c04dcaa
commit c1301b43db
6 zmienionych plików z 21 dodań i 2 usunięć

Wyświetl plik

@ -61,7 +61,7 @@ jobs:
- name: Build mpy-cross.exe
run: msbuild mpy-cross\mpy-cross.vcxproj -maxcpucount -property:Configuration=${{ matrix.configuration }} -property:Platform=${{ matrix.platform }}
- name: Update submodules
run: git submodule update --init lib/micropython-lib
run: msbuild ports\windows\micropython.vcxproj -target:UpdateSubmodules -property:Configuration=${{ matrix.configuration }} -property:Platform=${{ matrix.platform }} -property:PyVariant=${{ matrix.variant }}
- name: Build micropython.exe
run: msbuild ports\windows\micropython.vcxproj -maxcpucount -property:Configuration=${{ matrix.configuration }} -property:Platform=${{ matrix.platform }} -property:PyVariant=${{ matrix.variant }}
- name: Get micropython.exe path

Wyświetl plik

@ -69,6 +69,7 @@ In the IDE, open `micropython-cross.vcxproj` and `micropython.vcxproj` and build
To build from the command line:
msbuild ../../mpy-cross/mpy-cross.vcxproj
msbuild micropython.vcxproj /t:UpdateSubmodules
msbuild micropython.vcxproj
__Variants__

Wyświetl plik

@ -108,7 +108,7 @@
</ItemGroup>
<Import Project="msvc/genhdr.targets" />
<Import Project="$(CustomPropsFile)" Condition="exists('$(CustomPropsFile)')" />
<Target Name="GenerateMicroPythonSources" BeforeTargets="BuildGenerateSources" DependsOnTargets="GenerateHeaders;FreezeModules">
<Target Name="GenerateMicroPythonSources" BeforeTargets="BuildGenerateSources" DependsOnTargets="UpdateSubmodulesIfInIDE;GenerateHeaders;FreezeModules">
</Target>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

Wyświetl plik

@ -62,4 +62,16 @@
<Copy SourceFiles="%(PyOutputFiles.Identity)" DestinationFiles="%(PyOutputFiles.Destination)"/>
<WriteLinesToFile File="$(TLogLocation)$(ProjectName).write.u.tlog" Lines="$(PyFileCopyCookie);@(PyOutputFiles->'%(Destination)')" Overwrite="True"/>
</Target>
<Target Name="UpdateSubmodules" Condition="@(PySubmodules) != ''">
<Message Text="Updating submodules: @(PySubmodules)"/>
<Exec Command="git submodule sync $(PyBaseDir)%(PySubmodules.Identity)"/>
<Exec Command="git submodule update --init $(PyBaseDir)%(PySubmodules.Identity)"/>
</Target>
<!-- Within an IDE it's usually not simple to manually select Targets to build so allow doing
this automatically to be able to build from scratch. Still make this optional though because it isn't exactly fast. -->
<Target Name="UpdateSubmodulesIfInIDE" DependsOnTargets="UpdateSubmodules"
Condition="'$(BuildingInsideVisualStudio)' == 'True' And '$(PySkipModuleUpdate)' != 'True'">
</Target>
</Project>

Wyświetl plik

@ -8,4 +8,7 @@
<PreprocessorDefinitions>%(PreprocessorDefinitions);MICROPY_ROM_TEXT_COMPRESSION=1</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<PySubmodules Include="lib/micropython-lib" />
</ItemGroup>
</Project>

Wyświetl plik

@ -3,4 +3,7 @@
<PropertyGroup>
<FrozenManifest>$(PyWinDir)\variants\manifest.py</FrozenManifest>
</PropertyGroup>
<ItemGroup>
<PySubmodules Include="lib/micropython-lib" />
</ItemGroup>
</Project>