diff --git a/Readme.md b/Readme.md
index 3e7f2af..49e6c7b 100644
--- a/Readme.md
+++ b/Readme.md
@@ -274,6 +274,8 @@ Full build instructions can be found [here](docs/building_for_windows.md).
If you want to run Advanced Settings on linux you can build it yourself using `qmake` and `make` or using Qt Creator, you'll have to copy the `res` folder from the `src` folder into folder that contains the binary
and copy `third-party/openvr/lib/linux64/libopenvr_api.so` into your systems library path.
+If you want to contribute changes running `clang-format` is necessary. More details are in the [CONTRIBUTING.md](docs/CONTRIBUTING.md) file.
+
# Notes:
diff --git a/docs/building_for_windows.md b/docs/building_for_windows.md
index 960d5ba..f89ad67 100644
--- a/docs/building_for_windows.md
+++ b/docs/building_for_windows.md
@@ -4,6 +4,7 @@
> * [Requirements](#requirements)
> * [Locations and Environment Variables](#locs_and_envs)
> * [Building](#features)
+ > * [Contributing](#contributing)
> * [Using with QtCreator](#qt_creator)
> * [Using with Visual Studio](#visual_studio)
@@ -12,12 +13,18 @@
For compiling:
-1. Microsoft Visual Studio (tested on 2017 Community)
-2. Qt Framework (tested on 5.10 and 5.11)
+1. [Microsoft Visual Studio](https://visualstudio.microsoft.com/downloads/) (tested on 2017 Community)
+2. [Qt Framework](https://www.qt.io/download) version later than 5.6 (tested on 5.10 and 5.11)
+
+For pushing changes to the repo:
+
+1. [Python 3](https://www.python.org/downloads/) (must be in `PATH` environment variable)
+
+2. Clang format. Part of the [LLVM collection](https://releases.llvm.org/download.html).
Additionally, for fully building portable and installer release versions:
-3. 7zip
-4. Nullsoft Scriptable Install System (NSIS)
+3. [7zip](https://www.7-zip.org/download.html)
+4. [Nullsoft Scriptable Install System (NSIS)](https://sourceforge.net/projects/nsis/)
## Locations and Environment Variables
@@ -28,9 +35,10 @@ The following environmental variables are relevant for building the project.
| -------------------- | ------------- |
| `QT_LOC` | Path to your Qt `\bin\` folder. |
| `VS_LOC` | Path to your Visual Studio `vcvarsall.bat` file. |
-| `JOM_LOC` | Path to an `.exe` of `jom.exe`. Usually installed with Qt. `jom` is a wrapper around `nmake` allowing more threads to be used. It is not required, but using `nmake`is slower. If `JOM_LOC` isn't defined, or the `.exe` can't be found `nmake` will be used by default. |
+| `JOM_LOC` | Path to an `.exe` of `jom.exe`. Usually installed with Qt. `jom` is a wrapper around `nmake` allowing more threads to be used. It is not required, but using `nmake`is slower. If `JOM_LOC` isn't defined, or the `.exe` can't be found `nmake` will be used by default. To force using `nmake`, set `JOM_LOC` to a non-valid path like `1`. |
| `ZIP_LOC` | Path to your 7zip `.exe`. Both portable and installer will work. |
| `NSIS_LOC` | Path to your installation of NSIS containing the `makensis` file. Both portable and installer will work. |
+| `CLANG_FORMAT_LOC` | Path to your `clang-format.exe`. Not necessary for building, but necessary for pushing changes to the repo. |
If an environment variable isn't set a default value will be provided. The default values are shown in the table below.
@@ -41,6 +49,7 @@ If an environment variable isn't set a default value will be provided. The defau
| `JOM_LOC` | `"C:\Qt\Tools\QtCreator\bin\jom.exe"`|
| `ZIP_LOC` | `"C:\Program Files\7-Zip\7z.exe"` |
| `NSIS_LOC` | `"C:\Program Files (x86)\NSIS\"` |
+| `CLANG_FORMAT_LOC` | `"C:\Program Files\LLVM\bin\clang-format.exe"` |
Additionally, these optional environment variables are supported.
@@ -58,6 +67,11 @@ The `.dll` files necessary for a release build differ from those needed by a deb
With the programs above installed and environment variables set, go into the root folder of the repository and run `build_windows.cmd`. Compiled binaries along with everything needed to run portable will output to `.\bin\win64\AdvancedSettings\`.
+
+## Contributing
+
+For full details, see [CONTRIBUTING.md](docs/CONTRIBUTING.md).
+
## Using with QtCreator