# install and build guide

#### install dependencies:

```bash
yay -S pkg-config cmake make
```

#### Install Conan:

```bash
$ pip install conan
$ conan profile new default --detect
$ conan profile update conf.tools.system.package_manager:mode=install default;
$ conan profile update conf.tools.system.package_manager:sudo=True default;
```

### How to Build

### Automatic build for Linux and Windows

For this to work on Windows you need to have access to a Unix shell, such as Git Bash or WSL as well as access to the make command.

In order to build both the client and the server, you can make the "all" rule:

```bash
$ make
```

In order to build the tests, make the "test" rule:

```bash
$ make test
```

Binaries can be found at:

```bash
./bin/Server
./bin/Client
./bin/Tests
```

### Manual Build

#### For Linux

Delete the build folder if present:

```bash
$ rm -rf build
```

Then build the binaries:

```bash
$ mkdir build
$ cd build
$ conan install . --build=missing
$ cmake .. -G "Unix Makefiles"
$ cmake --build . --config Release
```

#### For Windows

Delete the build folder if present:

```bash
$ Remove-Item 'build' -Recurse
```

Then build the binaries:

```bash
$ New-item -itemtype directory build
$ Set-Location build
$ conan install . --build=missing
$ cmake .. -G "Visual Studio 17"
$ cmake --build . --config Release
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://r-type-1.gitbook.io/r-type-documentation/user-documentation/install-and-build-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
