Update BUILD_LINUX.md

This commit is contained in:
Kalila 2022-01-06 17:48:50 -05:00 committed by GitHub
parent 19adf81c16
commit 02727fc93a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -16,7 +16,7 @@ sudo add-apt-repository universe
sudo apt-get update sudo apt-get update
``` ```
#### Install build tools: ### Install build tools:
- First update the repositories: - First update the repositories:
```bash ```bash
sudo apt-get update -y sudo apt-get update -y
@ -41,7 +41,7 @@ sudo apt-get install cmake -y
``` ```
Verify CMake was installed by running `cmake --version`. Verify CMake was installed by running `cmake --version`.
#### Install build dependencies: ### Install build dependencies:
- OpenSSL: - OpenSSL:
```bash ```bash
sudo apt-get install libssl-dev sudo apt-get install libssl-dev
@ -57,7 +57,7 @@ Verify OpenGL:
- Then run `glxinfo | grep "OpenGL version"`. - Then run `glxinfo | grep "OpenGL version"`.
#### Extra dependencies to compile an Interface on a server ### Extra dependencies to compile an Interface on a server
- Install the following: - Install the following:
@ -94,7 +94,8 @@ git checkout master
If you need a different branch, you can get a list of all tags with: If you need a different branch, you can get a list of all tags with:
```bash ```bash
git fetch -a git fetch --tags
git tag
``` ```
### Using a custom Qt build ### Using a custom Qt build
@ -120,8 +121,7 @@ machine, but these builds will not work on machines lacking same CPU instruction
For packaging, it is recommended to set it to a different value, for example `-msse3`. This will help ensure that the build will run on all reasonably modern CPUs. For packaging, it is recommended to set it to a different value, for example `-msse3`. This will help ensure that the build will run on all reasonably modern CPUs.
Setting `VIRCADIA_CPU_ARCHITECTURE` to an empty string will use the default compiler settings and yield Setting `VIRCADIA_CPU_ARCHITECTURE` to an empty string will use the default compiler settings and yield maximum compatibility.
maximum compatibility.
### Compiling ### Compiling
@ -139,23 +139,27 @@ cmake ..
If cmake fails with a vcpkg error, then delete `~/vircadia-files/vcpkg/`. If cmake fails with a vcpkg error, then delete `~/vircadia-files/vcpkg/`.
Start compilation of the server and grab a cup of coffee: #### Server
To compile the Domain server:
```bash ```bash
make domain-server assignment-client make domain-server assignment-client
``` ```
To compile the Interface: *Note: For a server, it is not necessary to compile the Interface.*
#### Interface
To compile the Interface client:
```bash ```bash
make interface make interface
``` ```
The commands above will compile with a single thread. If you have enough memory, you can decrease your build time using the `-j` flag. Since most x64 CPUs support two threads per core, this works out to CPU_COUNT*2. As an example, if you have a 2 core machine, you could use: The commands above will compile with a single thread. If you have enough memory, you can decrease your build time using the `-j` flag. Since most x64 CPUs support two threads per core, this works out to CPU_COUNT*2. As an example, if you have a 2 core machine, you could use:
``` ```bash
make -j4 interface make -j4 interface
``` ```
*Note: In a server, it is not necessary to compile the Interface.*
### Running the software ### Running the software
#### Domain server #### Domain server
@ -174,14 +178,14 @@ Running assignment client:
#### Interface #### Interface
Running interface: Running the Interface:
```bash ```bash
./interface/interface ./interface/interface
``` ```
Go to localhost in the running Interface to visit your newly launched world. Go to "localhost" in the running Interface to visit your newly launched Domain server.
#### Notes ### Notes
If your goal is to set up a development environment, it is desirable to set the directory that vcpkg builds into with the `HIFI_VCPKG_BASE` environment variable. If your goal is to set up a development environment, it is desirable to set the directory that vcpkg builds into with the `HIFI_VCPKG_BASE` environment variable.
For example, you might set `HIFI_VCPKG_BASE` to `/home/$USER/vcpkg`. For example, you might set `HIFI_VCPKG_BASE` to `/home/$USER/vcpkg`.