updated build instructions for Linux, macOS and Windows

master
chanayane 2025-09-11 23:32:23 +02:00
parent fee26c83f4
commit 4c43e89232
No known key found for this signature in database
GPG Key ID: F60C8AE3A90228FA
3 changed files with 171 additions and 71 deletions

View File

@ -43,9 +43,22 @@ A few packages must be installed on the build system. Some may already be instal
sudo apt install libgl1-mesa-dev libglu1-mesa-dev libpulse-dev build-essential python3-pip git libssl-dev libxinerama-dev libxrandr-dev libfontconfig-dev libfreetype6-dev gcc-11 cmake
```
### Optional but recommended: Set up a Python virtual environment
We recommend setting up a Python virtual environment so that it doesn't pollute your system when installing Firestorm requirements.
- Create the Python virtual environment (only once):
`python -m venv .venv`
- Activate the virtual environment:
`source .venv/bin/activate`
- Activate the virtual environment each time you want to build.
- Type all the subsequent commands in this virtual environment.
- In case of issue or Python update, you can delete this .venv directory and create a new virtual environment again.
### Install Autobuild
Autobuild is a Linden Lab resource that does all the hard work.
If you created a Python virtual environment, activate it first.
You can install it using the same versions as our automated builds as follows:
```
sudo pip3 install --upgrade pip
@ -156,20 +169,31 @@ This will set up to compile with all defaults and without non-default libraries.
Available premade firestorm-specific build targets:
```
ReleaseFS (includes KDU, FMOD)
ReleaseFS_open (no KDU, no FMOD)
RelWithDebInfoFS_open (no KDU, no FMOD)
ReleaseFS (with KDU, with FMOD, no OpenSim)
ReleaseFS_AVX (with KDU, with FMOD, no OpenSim, optimized for AVX-enabled CPUs)
ReleaseFS_AVX2 (with KDU, with FMOD, no OpenSim, optimized for AVX2-enabled CPUs)
ReleaseFS_open ( no KDU, no FMOD, no OpenSim)
ReleaseOS ( no KDU, no FMOD, with OpenSim)
RelWithDebInfoFS (with KDU, with FMOD, no OpenSim, with debug info)
RelWithDebInfoFS_open ( no KDU, no FMOD, no OpenSim, with debug info)
RelWithDebInfoOS ( no KDU, no FMOD, with OpenSim, with debug info)
```
You will probably want to have FMOD enabled and no Kakadu, in that case, you can use the ReleaseFS_open target with the --fmodstudio switch.
### Configuration Switches
There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.
- **LL_TESTS** (bool) controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or more of them.
- **clean** will cause autobuild to remove any previously compiled objects and fetched packages. It can be useful if you need to force a reload of all packages
- **package** will result in a bzip2 archive of the completed viewer. Enabled by default, you would have to use **-DPACKAGE:BOOL=Off** to disable it
- **chan** will set a unique channel (and the name) for the viewer, appending whatever is defined to "Firestorm-". By default, the channel is "private" followed by your computer's name.
- **fmodstudio** will tell autobuiild to use the FmodStudio package when compiling.
- **-A \<architecture\>** sets the target architecture, that is if you want to build a 32bit or 64bit viewer (32bit is default if omitted). You probably want to set this to `-A 64`.
- **--avx** will enable AVX optimizations for AVX-enabled CPUs. Mutually exclusive with --avx2.
- **--avx2** will enable AVX2 optimizations for AVX2-enabled CPUs. Mutually exclusive with --avx.
- **--clean** will cause autobuild to remove any previously compiled objects and fetched packages. It can be useful if you need to force a reload of all packages
- **--fmodstudio** will tell autobuiild to use the FmodStudio package when compiling.
- **--kdu** will tell autobuiild to use the KDU (Kakadu) package when compiling. If you do not have a license for Kakadu, do not use that switch.
- **--package** makes sure all files are copied into viewers output directory. It will also result in a bzip2 archive of the completed viewer. Enabled by default, you would have to use **-DPACKAGE:BOOL=Off** to disable it
- **--chan \<channel name\>** will set a unique channel (and the name) for the viewer, appending whatever is defined to "Firestorm-". By default, the channel is "private" followed by your computer's name.
- **-LL_TESTS:BOOL=\<bool\>** controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or more of them.
Most switches start with a double-dash (\--). And if you use any switches you must enclose them with a double-dash at the start and an optional double-dash at the end.

View File

@ -14,21 +14,33 @@ The steps listed below are expected to be run from a shell prompt. Simply copy a
You will need to install the following tools:
### Xcode
- Xcode, It's a free download from Apple, but the latest version (12.x) is too new, so you will need to get an older version.
- To download a version that will work (11.7 in this case), go [here](https://developer.apple.com/download) and log in with an apple ID.
- Either find the 11.7 download in the list or use this [direct link](https://download.developer.apple.com/Developer_Tools/Xcode_11.7/Xcode_11.7.xip) (will prompt you to log in if you skipped the above step.)
XCode is a free download from Apple but you will need an Apple ID to login and access the download section. The current version used to compile Firestorm is 16.4.
- Go [here](https://developer.apple.com/download) and log in with an apple ID.
- Either find the 16.4 download in the list or use this [direct link](https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_16.4/Xcode_16.4.xip) (will prompt you to log in if you skipped the above step.)
- Open the downloaded file and copy the Xcode application to the Applications folder.
- Open Xcode at least once to set up everything to compile the viewer later on.
- Test by running `clang --version` from the terminal window.
- It should report version 11 something (Apple clang version 11.0.3 (clang-1103.0.32.62) for example.)
- If it reports version 12, something is messed up and you installed Xcode 12.
- It should report version 17 something (Apple clang version 17.0.0 (clang-1700.0.13.5) for example).
- If it reports an inferior version, something is messed up and you installed another version of XCode. It might still work, but the supported version is currently 16.4.
### CMake
- Download [CMake](http://www.cmake.org/download) version 3.16.0 or higher
- Download [CMake](http://www.cmake.org/download) version 4.1.1 or higher
- Open the downloaded file and copy CMake to the Applications folder.
- You will need to install the command line links manually. To do this, run from the terminal: `sudo /Applications/CMake.app/Contents/MacOS/CMake --install`
- Again, test by running: `cmake --version` from the terminal window.
### Optional but recommended: Set up a Python virtual environment
We recommend setting up a Python virtual environment so that it doesn't pollute your system when installing Firestorm requirements.
- Create the Python virtual environment (only once):
`python -m venv .venv`
- Activate the virtual environment:
`source .venv/bin/activate`
- Activate the virtual environment each time you want to build.
- Type all the subsequent commands in this virtual environment.
- In case of issue or Python update, you can delete this .venv directory and create a new virtual environment again.
### Pip
The pip Python package installation tool is required for the next step. To install it, run from terminal:
```
@ -38,63 +50,34 @@ sudo python3 get-pip.py
### Autobuild
The Linden Lab [Autobuild](https://github.com/secondlife/autobuild) tool.
- Activate your Python virtual environment if you created one earlier
- Use the following command to install it on your machine:
```
pip3 install --user -r requirements.txt
```
If you created a Python virtual environment, autobuild will be located in .venv/bin/autobuild and already added to $PATH. But if you did not create a virtual environment, do the following:
- Add it to your PATH environment variable so it can be found by the shell. The macOS-approved way to do this is to issue the following command (This change will not take effect until the next time you open a Terminal window.):
```
echo '~/Library/Python/3.7/bin/' | sudo tee /etc/paths.d/99-autobuild
echo '~/Library/Python/3.9/bin/' | sudo tee /etc/paths.d/99-autobuild
```
- If you do not want to close and re-open your terminal, type the following to add it your PATH (otherwise if you did close it down, re-open it as shown above [here](#obtaining-a-shell-to-work-with)):
```
export PATH=$PATH:~/Library/Python/3.7/bin/
export PATH=$PATH:~/Library/Python/3.9/bin/
```
- Check Autobuild version to be "autobuild 3.9.3" or higher: `autobuild --version`
- Once Autobuild is correctly installed, check Autobuild version to be "autobuild 3.9.6" or higher: `autobuild --version`
### Additional third party libraries
If you want to use licensed FMOD Studio API or KDU build libraries (they are optional) you have to provide these yourself. If you're building Firestorm as part of the project team, ask for the libraries for fmodstudio and kdu. Put them into `/opt/firestorm`.
If you want to use licensed FMOD Studio API or KDU (short for Kakadu) build libraries (they are optional) you have to provide these yourself. If you're building Firestorm as part of the project team, ask for the libraries for fmodstudio and kdu. Put them into `/opt/firestorm`. Some libraries like Kakadu or Havok require that you purchase a license so do not set the flags to include those packages if you do not have the according licenses.
If you're a community builder, you'll need to build these libraries yourself, then change your autobuild.xml file to point to your own versions, or create a different autobuild.xml with your customizations, and use this with autobuild instead of our default autobuild.xml. There are some examples of how to build FMOD Studio on the LL Wiki and opensource-dev mailing list.
We've created a non-KDU build target to make this easier. Everywhere you see "ReleaseFS" below, use "ReleaseFS_open" instead. This will perform the same build, using openjpeg instead of KDU and omitting FMOD Studio.
Available premade firestorm-specific build targets:
```
ReleaseFS (includes KDU, FMOD)
ReleaseFS_open (no KDU, no FMOD)
RelWithDebInfo_open (no KDU, no FMOD)
```
To build firestorm:
```
autobuild build -c ReleaseFS
```
Other examples:
```
autobuild configure -c ReleaseFS # basic configuration step, don't build, just configure
autobuild configure -c ReleaseFS -- --clean # clean the output area first, then configure
autobuild configure -c ReleaseFS -- --chan Private-Yourname # configure with a custom channel
autobuild build -c ReleaseFS --no-configure # default quick rebuild
autobuild build -c ReleaseFS --no-configure -- --clean # Clean rebuild
autobuild configure -c ReleaseFS_open -- # configure with no third-party libraries
autobuild configure -c ReleaseFS_open -- --fmodstudio # configure with FMOD Studio but no KDU
```
Any of the configure options can also be used (and do the same thing) with the build options. Typical LL autobuild configure options should also work, as long as they don't duplicate configuration we are already doing.
Logs: Look for logs in `build-darwin-x86_64/logs`.
Output: Look for output in `build-darwin-x86_64/newview/Release`.
You will probably want to have FMOD enabled and no Kakadu, in that case, you can use the ReleaseFS_open target with the --fmodstudio switch.
## Set up your source code tree
@ -124,6 +107,46 @@ Again, if you do not wish to restart your terminal:
export AUTOBUILD_VARIABLES_FILE=~/firestorm/fs-build-variables/variables
```
## Firestorm build targets
Available premade firestorm-specific build targets:
```
ReleaseFS (with KDU, with FMOD, no OpenSim)
ReleaseFS_open ( no KDU, no FMOD, no OpenSim)
ReleaseOS ( no KDU, no FMOD, with OpenSim)
RelWithDebInfoFS (with KDU, with FMOD, no OpenSim, with debug info)
RelWithDebInfoFS_open ( no KDU, no FMOD, no OpenSim, with debug info)
RelWithDebInfoOS ( no KDU, no FMOD, with OpenSim, with debug info)
```
You will probably want to have FMOD enabled and no Kakadu, in that case, you can use the ReleaseFS_open target with the --fmodstudio switch.
To build firestorm:
```
autobuild build -c ReleaseFS
```
Other examples:
```
autobuild configure -c ReleaseFS # basic configuration step, don't build, just configure
autobuild configure -c ReleaseFS -- --clean # clean the output area first, then configure
autobuild configure -c ReleaseFS -- --chan Private-Yourname # configure with a custom channel
autobuild build -c ReleaseFS --no-configure # default quick rebuild
autobuild build -c ReleaseFS --no-configure -- --clean # Clean rebuild
autobuild configure -c ReleaseFS_open -- # configure with no third-party libraries
autobuild configure -c ReleaseFS_open -- --fmodstudio # configure with FMOD Studio but no KDU
```
Any of the configure options can also be used (and do the same thing) with the build options. Typical LL autobuild configure options should also work, as long as they don't duplicate configuration we are already doing.
Logs: Look for logs in `build-darwin-x86_64/logs`.
Output: Look for output in `build-darwin-x86_64/newview/Release`.
## Prepare third party libraries
Most third party libraries needed to build the viewer will be automatically downloaded for you and installed into the build directory within your source tree during compilation. Some need to be manually prepared and are not normally required when using an open source configuration (ReleaseFS_open).
@ -149,7 +172,7 @@ autobuild build
autobuild package --results-file result.txt
```
Near the top of the output you will see the package name written:
Near the top of the output you will see the package name written (version might differ):
```
wrote /Users/yourname/3p-fmodstudio/fmodstudio-2.01.05-darwin-202981448.tar.bz2
@ -157,7 +180,7 @@ wrote /Users/yourname/3p-fmodstudio/fmodstudio-2.01.05-darwin-202981448.tar.bz2
Additionally, a file `result.txt` has been created containing the md5 hash value of the package file, which you will need in the next step.
- Next, update Firestorms autobuild.xml file to use your FMOD Studio.
- Next, make a copy of Firestorms autobuild.xml named for example my_autobuild.xml to use your FMOD Studio.
```
cd ~/firestorm/phoenix-firestorm
@ -192,11 +215,16 @@ This will configure the viewer for compiling with all defaults and without third
There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.
- FMODSTUDIO (bool) controls if the FMOD Studio package is incorporated into the viewer. You must have performed the FMOD Studio installation steps in [FMOD Studio using autobuild](#fmod-studio-using-autobuild) for this to work. This is the switch the --fmodstudio build argument sets.
- LL_TESTS (bool) controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or more of them.
- **-A \<architecture\>** sets the target architecture, that is if you want to build a 32bit or 64bit viewer (32bit is default if omitted). You probably want to set this to `-A 64`.
- **--clean** will cause autobuild to remove any previously compiled objects and fetched packages. It can be useful if you need to force a reload of all packages
- **--fmodstudio** controls if the FMOD Studio package is incorporated into the viewer. You must have performed the FMOD Studio installation steps in [FMOD Studio using autobuild](#fmod-studio-using-autobuild) for this to work.
- **--kdu** will tell autobuiild to use the KDU (Kakadu) package when compiling. If you do not have a license for Kakadu, do not use that switch.
- **--package** makes sure all files are copied into viewers output directory. It will also generate a DMG installer package
- **--chan \<channel name\>** will set a unique channel (and the name) for the viewer, appending whatever is defined to "Firestorm-". By default, the channel is "private" followed by your computer's name.
- **-LL_TESTS:BOOL=\<bool\>** controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or more of them.
> [!TIP]
> OFF and NO are the same as FALSE; anything else is considered to be TRUE
> **OFF** and **NO** are the same as **FALSE**; anything else is considered to be **TRUE**
Example:
@ -234,6 +262,8 @@ open build-darwin-x86_64/newview/Release
From here you can run it directly or copy it to the Applications folder for ease of finding and running later.
If you used the --package switch, you will also find the DMG installer package in `build-darwin-x86_64/newview`.
## Updating the viewer
If you want to update your self-compiled viewer, you don't have to go through this entire page again. Follow these steps to pull down any new code and re-compile.
@ -243,6 +273,7 @@ If you want to update your self-compiled viewer, you don't have to go through th
- If you have picked to do a clean build, run the following in the terminal window, otherwise skip to the next step: `rm -r build-darwin-x86_64`
- If you are using a custom autobuild.xml file, then run the following in the terminal window, otherwise skip this step: `export AUTOBUILD_CONFIG_FILE=my_autobuild.xml`
- Now, to pull down any new code, run the following in the terminal window: `git pull`
- If you are using a custom autobuild.xml file, compare my_autobuild.xml to autobuild.xml to see if anything has been updated and update your custom file accordingly.
- After any new code is downloaded, it needs to be reconfigured. Run the following in the terminal window: `autobuild configure -A 64 -c ReleaseFS_open`
- Finally, re-compile the viewer with the new changes. Again, in the terminal window, run: `autobuild build -A 64 -c ReleaseFS_open --no-configure`

View File

@ -28,14 +28,31 @@ All installations are done with default settings (unless told explicitly) - if y
> [!TIP]
> If you don't own a copy of a commercial edition of Visual Studio 2022 (e.g. Professional), you might consider installing the [Community version](https://visualstudio.microsoft.com/free-developer-offers)
### Tortoise Git
### Command Prompt vs Powershell
- Make sure that you use the Windows Command Prompt (cmd.exe) and not Powershell or it won't detect the Visual Studio build tools properly.
- Download and install [TortoiseGit 2.9.0 or newer](https://tortoisegit.org) (64bit)
### Git
- If you prefer having a GUI for Git, download and install [TortoiseGit 2.17.0 or newer](https://tortoisegit.org) (64bit)
- Note: No option available to install as Administrator
- Use default options (path, components etc.) for Tortoise Git itself
- At some point, it will ask you to download and install Git for Windows
- You can install with default options **EXCEPT** when it asks for "Configuring the line endings conversion": You **MUST** select "Checkout as-is, commit as-is" here!
- If you prefer command line tools, you can also use and install the official [Git for Windows](https://git-scm.com/downloads/win).
- Uncheck "associate .sh files to be run with bash"
- Choose a good text editor such as VS Code or Sublime Text when asked to
- Select "Let Git decide the name of the initial branch"
- Select "Git from the command line and also from 3rd party software"
- Select "Use External SSH"
- Select "Use the native Windows Secure Channel library"
- Select "Checkout as-is, commit as-is" for line endings conversion.
- Select "Use Windows' default console window"
- Select "Fast-forward or merge"
- Select "Git Credential Manager"
- Check "Enable file system caching"
- Once installed, ensure that the git directory (C:\Program Files\Git\cmd) is in your PATH.
### CMake
- Download and install at least [CMake 3.16.0](http://www.cmake.org/download)
@ -56,9 +73,12 @@ All installations are done with default settings (unless told explicitly) - if y
- Add additional packages:
- Devel/patch
- Use default options for everything else
- Make sure that the following directory was added to your path and that it is placed before "%SystemRoot%\system32":
- Make sure that the following directory was added to your path and that it is placed before "%SystemRoot%\system32" but after CMake path (in case you installed CMake in Cygwin):
`C:\Cygwin64\bin`
> [!NOTE]
> The Cygwin terminal is only needed for testing. All commands for actually building the viewer will be run from the Windows command shell.
### Python
- Download and install the most recent version of [Python 3](https://www.python.org/downloads/windows)
@ -87,14 +107,25 @@ pip --version
If they all report sensible values and not "Command not found" errors, then you are in good shape.
> [!NOTE]
> The Cygwin terminal is only needed for testing. All commands for actually building the viewer will be run from the Windows command shell.
### Optional but recommended: Set up a Python virtual environment
We recommend setting up a Python virtual environment so that it doesn't pollute your system when installing Firestorm requirements.
- Create the Python Virtual Environment (only once). Open Windows Command Prompt and enter:
`python -m venv .venv`
- Activate the virtual environment by typing:
`.venv\Scripts\activate.bat`
- Activate the virtual environment each time you want to build.
- Type all the subsequent commands in this virtual environment.
- In case of issue or Python update, you can delete this .venv directory and create a new virtual environment again.
### Set up Autobuild
- Install Autobuild
You can install autobuild and its dependencies using the `requirements.txt` file that is part of the repo, this will build using the same versions that our official builds use.
- Open Windows Command Prompt and enter: <code>pip install -r requirements.txt</code>
- Open Windows Command Prompt
- Activate your Python virtual environment if you created one earlier
- Enter: <code>pip install -r requirements.txt</code>
- Autobuild will be installed. **Earlier versions of Autobuild could be made to work by just putting the source files into your path correctly; this is no longer true - Autobuild _must_ be installed as described here.**
- Open Windows Command Prompt and enter:
`pip install git+https://github.com/secondlife/autobuild.git#egg=autobuild`
@ -136,7 +167,7 @@ git clone https://github.com/FirestormViewer/phoenix-firestorm.git
## Prepare third party libraries
Most third party libraries needed to build the viewer will be automatically downloaded for you and installed into the build directory within your source tree during compilation. Some need to be manually prepared and are not normally required when using an open source configuration (ReleaseFS_open).
Most third party libraries needed to build the viewer will be automatically downloaded for you and installed into the build directory within your source tree during compilation. Some need to be manually prepared and are not normally required when using an open source configuration (ReleaseFS_open). Some libraries like Kakadu or Havok requires you to purchase a license and you will need to figure out yourself how to build and use them.
> [!IMPORTANT]
> If you are manually building the third party libraries, you will have to build the correct version (32bit libraries for a 32bit viewer, 64bit versions for a 64bit viewer)!
@ -219,12 +250,20 @@ This will configure Firestorm to be built with all defaults and without third pa
Available premade firestorm-specific build targets:
```
ReleaseFS (includes KDU, FMOD)
ReleaseFS_open (no KDU, no FMOD)
RelWithDebInfoFS_open (no KDU, no FMOD)
ReleaseFS (with KDU, with FMOD, no OpenSim)
ReleaseFS_AVX (with KDU, with FMOD, no OpenSim, optimized for AVX-enabled CPUs)
ReleaseFS_AVX2 (with KDU, with FMOD, no OpenSim, optimized for AVX2-enabled CPUs)
ReleaseFS_open ( no KDU, no FMOD, no OpenSim)
ReleaseOS ( no KDU, no FMOD, with OpenSim)
RelWithDebInfoFS (with KDU, with FMOD, no OpenSim, with debug info)
RelWithDebInfoFS_open ( no KDU, no FMOD, no OpenSim, with debug info)
RelWithDebInfoOS ( no KDU, no FMOD, with OpenSim, with debug info)
```
You will probably want to have FMOD enabled and no Kakadu, in that case, you can use the ReleaseFS_open target with the --fmodstudio switch.
> [!TIP]
> Do not use a premade build target that has Kakadu if you do not have the Kakadu package or it won't work.
> Configuring the viewer for the first time will take some time to download all the required third-party libraries. The download progress is hidden by default. If you want to watch the download progress, you can use the verbose option to display a more detailed output:
> `autobuild configure -A 64 -v -c ReleaseFS_open`
@ -232,11 +271,15 @@ RelWithDebInfoFS_open (no KDU, no FMOD)
There are a number of switches you can use to modify the configuration process. The name of each switch is followed by its type and then by the value you want to set.
- -A \<architecture\> sets the target architecture, that is if you want to build a 32bit or 64bit viewer (32bit is default if omitted).
- --fmodstudio controls if the FMOD Studio package is incorporated into the viewer. You must have performed the FMOD Studio installation steps in [FMOD Studio using Autobuild](#fmod-studio-using-autobuild) for this to work.
- --package makes sure all files are copied into viewers output directory. You won't be able to start your compiled viewer if you don't enable package or do 'compile' it in VS.
- --chan \<channel name\> lets you define a custom channel name for the viewer
- -LL_TESTS:BOOL=\<bool\> controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or more of them.
- **-A \<architecture\>** sets the target architecture, that is if you want to build a 32bit or 64bit viewer (32bit is default if omitted). You probably want to set this to `-A 64`.
- **--avx** will enable AVX optimizations for AVX-enabled CPUs. Mutually exclusive with --avx2.
- **--avx2** will enable AVX2 optimizations for AVX2-enabled CPUs. Mutually exclusive with --avx.
- **--clean** will cause autobuild to remove any previously compiled objects and fetched packages. It can be useful if you need to force a reload of all packages
- **--fmodstudio** controls if the FMOD Studio package is incorporated into the viewer. You must have performed the FMOD Studio installation steps in [FMOD Studio using Autobuild](#fmod-studio-using-autobuild) for this to work. You will not have any sound if you do not include FMOD.
- **--kdu** will tell autobuiild to use the KDU (Kakadu) package when compiling. If you do not have a license for Kakadu, do not use that switch.
- **--package** makes sure all files are copied into viewers output directory. You won't be able to start your compiled viewer if you don't enable package or do 'compile' it in VS. It will also run NSIS to create a setup package.
- **--chan \<channel name\>** will set a unique channel (and the name) for the viewer, appending whatever is defined to "Firestorm-". By default, the channel is "private" followed by your computer's name.
- **-LL_TESTS:BOOL=\<bool\>** controls if the tests are compiled and run. There are quite a lot of them so excluding them is recommended unless you have some reason to need one or more of them.
> [!TIP]
> **OFF** and **NO** are the same as **FALSE**; anything else is considered to be **TRUE**
@ -255,6 +298,8 @@ There are two ways to build the viewer: Via Windows command line or from within
### Building from the Windows command line
Make sure that you are using the Windows Command Prompt (cmd.exe) and not Powershell.
If you are building with FMOD Studio and have followed the previous FMOD Studio setup instructions AND you are now using a new terminal you will need to reset the environment variable with
`set AUTOBUILD_CONFIG_FILE=my_autobuild.xml`