Clean the build instructions up a bit:
* We do not recommend... * Reduce the KDU emphasismaster
parent
754b4095ba
commit
46da82657a
|
|
@ -43,9 +43,9 @@ 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
|
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
|
### Optional: 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.
|
If you do not want to install the required Python packages into the default Python directory, you can optionally create a virtual environment.
|
||||||
|
|
||||||
- Create the Python virtual environment (only once):
|
- Create the Python virtual environment (only once):
|
||||||
`python -m venv .venv`
|
`python -m venv .venv`
|
||||||
|
|
@ -179,8 +179,6 @@ RelWithDebInfoFS_open ( no KDU, no FMOD, no OpenSim, with debug info)
|
||||||
RelWithDebInfoOS ( no KDU, no FMOD, with 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
|
### 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.
|
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.
|
||||||
|
|
@ -190,7 +188,7 @@ There are a number of switches you can use to modify the configuration process.
|
||||||
- **--avx2** will enable AVX2 optimizations for AVX2-enabled CPUs. Mutually exclusive with --avx.
|
- **--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
|
- **--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.
|
- **--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.
|
- **--kdu** will tell autobuiild to use the KDU (Kakadu) package when compiling.
|
||||||
- **--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
|
- **--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.
|
- **--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.
|
- **-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.
|
||||||
|
|
@ -200,7 +198,7 @@ Most switches start with a double-dash (\--). And if you use any switches you mu
|
||||||
> [!TIP]
|
> [!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**
|
||||||
|
|
||||||
Examples:
|
### Examples: ###
|
||||||
|
|
||||||
```
|
```
|
||||||
autobuild configure -A 64 -c ReleaseFS_open -- -DLL_TESTS:BOOL=FALSE
|
autobuild configure -A 64 -c ReleaseFS_open -- -DLL_TESTS:BOOL=FALSE
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,9 @@ XCode is a free download from Apple but you will need an Apple ID to login and a
|
||||||
- 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`
|
- 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.
|
- Again, test by running: `cmake --version` from the terminal window.
|
||||||
|
|
||||||
### Optional but recommended: Set up a Python virtual environment
|
### Optional: 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.
|
If you do not want to install the required Python packages into the default Python directory, you can optionally create a virtual environment.
|
||||||
|
|
||||||
- Create the Python virtual environment (only once):
|
- Create the Python virtual environment (only once):
|
||||||
`python -m venv .venv`
|
`python -m venv .venv`
|
||||||
|
|
@ -119,8 +119,6 @@ RelWithDebInfoFS_open ( no KDU, no FMOD, no OpenSim, with debug info)
|
||||||
RelWithDebInfoOS ( no KDU, no FMOD, with 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:
|
To build firestorm:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
@ -218,7 +216,7 @@ There are a number of switches you can use to modify the configuration process.
|
||||||
- **-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`.
|
- **-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
|
- **--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.
|
- **--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.
|
- **--kdu** will tell autobuiild to use the KDU (Kakadu) package when compiling.
|
||||||
- **--package** makes sure all files are copied into viewers output directory. It will also generate a DMG installer package
|
- **--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.
|
- **--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.
|
- **-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.
|
||||||
|
|
@ -226,7 +224,7 @@ There are a number of switches you can use to modify the configuration process.
|
||||||
> [!TIP]
|
> [!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:
|
### Example: ###
|
||||||
|
|
||||||
```
|
```
|
||||||
autobuild configure -A 64 -c ReleaseFS_open -- -DLL_TESTS:BOOL=FALSE -DFMODSTUDIO:BOOL=TRUE
|
autobuild configure -A 64 -c ReleaseFS_open -- -DLL_TESTS:BOOL=FALSE -DFMODSTUDIO:BOOL=TRUE
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ All installations are done with default settings (unless told explicitly) - if y
|
||||||
> 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)
|
> 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)
|
||||||
|
|
||||||
### Command Prompt vs Powershell
|
### 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.
|
- Make sure that you use the Windows Command Prompt / Terminal (cmd.exe) and not Powershell or it won't detect the Visual Studio build tools properly.
|
||||||
|
|
||||||
### Git
|
### Git
|
||||||
|
|
||||||
|
|
@ -107,24 +107,24 @@ pip --version
|
||||||
|
|
||||||
If they all report sensible values and not "Command not found" errors, then you are in good shape.
|
If they all report sensible values and not "Command not found" errors, then you are in good shape.
|
||||||
|
|
||||||
### Optional but recommended: Set up a Python virtual environment
|
### Optional: 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.
|
If you do not want to install the required Python packages into the default Python directory, you can optionally create a virtual environment.
|
||||||
|
|
||||||
- Create the Python Virtual Environment (only once). Open Windows Command Prompt and enter:
|
- Create the Python Virtual Environment (only once). Open Windows Command Prompt and navigate to the directory where you want to install the virtual environment. To create the virtual environment, enter:
|
||||||
`python -m venv .venv`
|
`python -m venv <env_name>` (`<env_name>` is a placeholder for the name you want to use for the virtual environment)
|
||||||
- Activate the virtual environment by typing:
|
- Activate the virtual environment by typing:
|
||||||
`.venv\Scripts\activate.bat`
|
`<env_name>\Scripts\activate.bat`
|
||||||
- Activate the virtual environment each time you want to build.
|
- Activate the virtual environment each time you want to build.
|
||||||
- Type all the subsequent commands in this virtual environment.
|
- 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.
|
- In case of issue or Python update, you can delete this directory for the virtual environemt and create a new one again.
|
||||||
|
|
||||||
### Set up Autobuild
|
### Set up Autobuild
|
||||||
|
|
||||||
- Install 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.
|
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
|
- Open Windows Command Prompt
|
||||||
- Activate your Python virtual environment if you created one earlier
|
- If you created a Python virtual environment earlier, activate it
|
||||||
- Enter: <code>pip install -r requirements.txt</code>
|
- 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.**
|
- 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:
|
- Open Windows Command Prompt and enter:
|
||||||
|
|
@ -260,10 +260,7 @@ RelWithDebInfoFS_open ( no KDU, no FMOD, no OpenSim, with debug info)
|
||||||
RelWithDebInfoOS ( no KDU, no FMOD, with 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]
|
> [!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:
|
> 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`
|
> `autobuild configure -A 64 -v -c ReleaseFS_open`
|
||||||
|
|
||||||
|
|
@ -274,9 +271,9 @@ There are a number of switches you can use to modify the configuration process.
|
||||||
- **-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`.
|
- **-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.
|
- **--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.
|
- **--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
|
- **--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.
|
- **--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.
|
- **--kdu** will tell autobuiild to use the KDU (Kakadu) package when compiling.
|
||||||
- **--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.
|
- **--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.
|
- **--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.
|
- **-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.
|
||||||
|
|
@ -284,7 +281,7 @@ There are a number of switches you can use to modify the configuration process.
|
||||||
> [!TIP]
|
> [!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**
|
||||||
|
|
||||||
Examples:
|
### Examples: ###
|
||||||
|
|
||||||
- To build a 64bit viewer with FMOD Studio and to create an installer package, run this command in the Windows command window:
|
- To build a 64bit viewer with FMOD Studio and to create an installer package, run this command in the Windows command window:
|
||||||
`autobuild configure -A 64 -c ReleaseFS_open -- --fmodstudio --package --chan MyViewer -DLL_TESTS:BOOL=FALSE`
|
`autobuild configure -A 64 -c ReleaseFS_open -- --fmodstudio --package --chan MyViewer -DLL_TESTS:BOOL=FALSE`
|
||||||
|
|
@ -298,7 +295,7 @@ There are two ways to build the viewer: Via Windows command line or from within
|
||||||
|
|
||||||
### Building from the Windows command line
|
### Building from the Windows command line
|
||||||
|
|
||||||
Make sure that you are using the Windows Command Prompt (cmd.exe) and not Powershell.
|
Make sure that you are using the Windows Command Prompt / Terminal (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
|
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
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue