buildfreebsd

# Building on FreeBSD

This page assumes you are the root user. If you are not, start the package install commands with `sudo`, along with `make install`. You will need `sudo` installed if you are not the root user.

## 1. Toolchain

Since the project uses `CMake`, you'll need to install it! If you don't have it, you can do the following:

    pkginstallcmake

## 2. Install Voice Dependencies (Optional)

If you wish to use voice support, you'll need to install opus:

    cd/usr/ports/audio/opus
    make&&makeinstall

## 3. Build Source Code

    cmake-B./build
    cmake--build./build-j8

Replace the number after `-j` with a number suitable for your setup, usually the same as the number of cores on your machine. `cmake` will fetch any dependencies that are required for you and ensure they are compiled alongside the library.

## 4. Install Globally

    cdbuild
    makeinstall

## 5. Installation to a Different Directory (Optional)

If you want to install the library, its dependencies and header files to a different directory, specify this directory when running `cmake`:

    cmake..-DCMAKE_INSTALL_PREFIX=/path/to/install

Then once the build is complete, run `sudo make install` to install to the location you specified.

## 6. Using the Library

Once installed, you can make use of the library in standalone programs simply by including it and linking to it:

    clang++-std=c++20-L/usr/local/lib-I/usr/local/include-ldppbot.cpp-odppbot

The important flags in this command-line are:

- `-std=c++20` - Required to compile the headers

- `-L/usr/local/lib` - Required to tell the linker where libdpp is located.

- `-I/usr/local/include` - Required to tell the linker where dpp headers are located.

- `-ldpp` - Link to `libdpp.so`.

- `bot.cpp` - Your source code.

- `-o dppbot` - The name of the executable to make.

Compiling your bot with a raw `g++` command is not advised in any real project, and the example above should be used only as a test. From here, you should learn to create a bot in D++ by moving on to Building a Discord Bot Using CMake (UNIX) or if you have not yet created a token for your bot, Creating a Bot Token - If you are having trouble setting up CMake, you can try our template cmake bot project.

Have fun!