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