This document describes how to set up a Windows computer to take CS 3 at Caltech.
Make executable was copied from
https://bitbucket.org/xoviat/chocolatey-packages/src/master, which
is the source of Chocolatey's make.
## For Students
1. Clone this repository in `C:\Users\<username>`, so that the path to the top-level folder is `C:\Users\<username>\caltech-cs3-msvc`.
2. Download Visual Studio Community from <https://visualstudio.microsoft.com/downloads/>.
3. Run the downloaded file, accepting default options. A second installer will open.
4. Click on the "Available" tab, then under Visual Studio Community 2019, click "More -> Import Configuration".
Select the file `.vsconfig` in this repo, click "Review details", then click "Install".
5. The files will now download and install. This step may take a while. You may want to uncheck "Start after installation".
Note that this installs the Visual Studio IDE. Do not use this editor, instead use VSCode.
## For Developers
The make executable was copied from
<https://bitbucket.org/xoviat/chocolatey-packages/src/master>, which
is the source of Chocolatey's make.
The include, lib, and share folders in this repo do not need to be
distributed (they're for building addons).
distributed (they're for building addons to make).
The remainder of the packages were built with vcpkg's x64-windows triplet and copied here.
The remainder of the packages were built with [vcpkg](https://github.com/microsoft/vcpkg)'s x64-windows triplet and copied from the vcpkg directories to this repo for portability.
Adding additional packages is easy if they are available as the appropriate triplet.
Adding additional packages is easy if they are available as the appropriate triplet in vcpkg.
Once all packages are installed, copy the contents of the bin, include, and lib folders for the x64-windows triplet into this repo.
## Using this repository
Clone this repository in `C:\Users\<username>`, so that the path to the top-level folder is `C:\Users\<username>\caltech-cs3-msvc`.
The CS 3 projects should be set up appropriately to use the dependencies bundled here.
The current version of this repo is for building 64-bit applications.
If you want to use it for 32-bit (perhaps to make ASan nicer), the only change should be using the x86-windows triplet instead, plus some changes in the projects to point the toolchain to the correct location.