Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tweak Windows CLI docs #692

Merged
merged 3 commits into from
Jun 22, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 49 additions & 21 deletions docs/Windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,30 @@
These instructions cover building 32blit on Windows (without WSL).

- [Prerequisites](#prerequisites)
- [Using Visual Studio](#using-visual-studio)
- [Setting Up](#setting-up)
- [Building & Running on 32Blit](#building--running-on-32blit)
- [Building & Running Locally](#building--running-locally)
- [Build Everything](#build-everything)

## Prerequisites

You'll need to install:
- Windows Terminal - grab it from the Windows Store
- [Git for Windows](https://git-scm.com/download/win)
- [Python](https://www.python.org/downloads/) - eg: "python-3.9.6-amd64.exe"
- The [GNU Arm Embedded Toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads) (For 32blit device builds, use the 9-2020-q2-update version). Make sure to select the "Add path to environment variable" at the end of the setup.
- At least the [Visual Studio build tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022) (For local builds, select "Desktop development with C++"). This includes CMake and NMake.

- [Git for Windows](https://git-scm.com/download/win)
- [Python](https://www.python.org/downloads/)
- At least the [Visual Studio build tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022) (For local builds, select "Desktop development with C++"). This includes a copy of CMake. A full Visual Studio install can also be used.
- The [GNU Arm Embedded Toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads) (For 32blit device builds, use the 9-2020-q2-update version). Make sure to select the "Add path to environment variable" at the end of the setup.
If you have Visual Studio installed you can Modify the installation and select "MSVC vXXX - VS 2022 C++ x64/x86 build tools (Latest)" and "C++ CMake tools for Windows"

## Setting Up

Open "Developer Command Prompt for VS 2022." This is where you'll build the 32blit SDK and flash .blit files to your device.

Install the 32blit tools:

Now open "Developer Command Prompt for VS 2022" and install the 32blit tools:
```
py -m pip install 32blit
```
(Keep this open for building later)

This may result in a waning similar to:

Expand All @@ -31,20 +36,41 @@ WARNING: The script 32blit.exe is installed in 'C:\Users\[Name]\AppData\Local\Pr

You will either need to add that to your PATH, or run the tools as `py -m ttblit ...` instead of `32blit ...`.

## Using Visual Studio
You should now be able to run `32blit.exe`, you can test your connection to your 32blit with:

```
32blit flash list
```

## Building & Running

To build using Visual Studio [see here](Windows-VisualStudio.md). The rest of these instructions cover command-line builds.

## Building & Running on 32Blit
### On 32Blit

If you want to run code on 32Blit, you should now refer to [Building & Running On 32Blit](32blit.md). On Windows you will need to add `-G"NMake Makefiles"` to your cmake commands, for example:

If you want to run code on 32Blit, you should now refer to [Building & Running On 32Blit](32blit.md). You will need to add `-G"NMake Makefiles"` to your cmake commands and use `nmake` instead of `make`. For example:
```
mkdir build.stm32
cd build.stm32
cmake -G"NMake Makefiles" -DCMAKE_TOOLCHAIN_FILE=../32blit.toolchain ..
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CMake we get from VS should be new enough for
cmake -B build.stm32 -G"NMake Makefiles" -DCMAKE_TOOLCHAIN_FILE=./32blit.toolchain
instead of this block.

(and then cmake --build build.stm32 [...])

... but I guess If we're doing that we should update other places too...

nmake
```

## Building & Running Locally
Now to build an example, type:

```
cmake --build . --target raycaster
```

This will produce `examples/raycaster/raycaster.blit`.

You can build & flash to your 32blit with one command by adding ".flash" to the end of any target, for example:

```
cmake --build . --target raycaster.flash
```

### Locally (Windows .exe)

Set up the 32Blit Makefile from the root of the repository with the following commands:

Expand All @@ -57,27 +83,29 @@ cmake -G"NMake Makefiles" ..
Now to make any example, type:

```
nmake example-name
cmake --build . --target raycaster
```

For example:
This will produce `examples\raycaster\raycaster.exe` which you should run with:

```
nmake raycaster
examples\raycaster\raycaster
```

This will produce `examples/raycaster/raycaster.exe` which you should run with:
### List Targets

For an exhaustive list of all the examples you can build, type:

```
.\examples\raycaster\raycaster
cmake --build . --target help
```

### Build Everything

Alternatively you can build everything by just typing:
Whether you're building locally or for device you can build the SDK and all examples by typing:

```
nmake
cmake --build .
```

When the build completes you should be able to run any example.
When the build completes you should be able to run/install any example.
Loading