mirror of
https://github.com/redstrate/Novus.git
synced 2025-04-24 21:07:46 +00:00
81 lines
2.7 KiB
Markdown
81 lines
2.7 KiB
Markdown
# Building Novus
|
|
|
|
There are two methods to build Novus, either via [Flatpak](https://flatpak.org/) or manually using your system libraries. It's highly recommended to prefer the Flatpak, especially if you don't have experience with CMake, C++ and such.
|
|
|
|
## Flatpak
|
|
|
|
Building the Flatpak version is easy, and there's a helper script to speed up the process. You must run it from the repository root:
|
|
|
|
```shell
|
|
cd novus
|
|
./scripts/build-flatpak.sh
|
|
```
|
|
|
|
The process should only take a few minutes on a moderately powerful machine. It does require an Internet connection and the relevant permissions to install the required Flatpak runtimes and extensions.
|
|
|
|
When it's complete, a file called `novus.flatpak` will appear in the repository root and that can be installed with the `flatpak` CLI tool or your preferred application store.
|
|
|
|
## Manual
|
|
|
|
### Dependencies
|
|
|
|
* [Linux](https://kernel.org/) or Windows
|
|
* macOS may work but is currently unsupported. Patches are accepted to fix any problems with macOS builds though.
|
|
* [CMake](https://cmake.org) 3.25 or later
|
|
* [Qt](https://www.qt.io/) 6.6 or later
|
|
* [KDE Frameworks](https://develop.kde.org/products/frameworks/) 6
|
|
* [Rust](https://www.rust-lang.org/)
|
|
* [Corrosion](https://github.com/corrosion-rs/corrosion)
|
|
|
|
### Getting source code
|
|
|
|
Novus has git submodules that must be cloned alongside the repository, so make sure to pass the `--recursive` flag:
|
|
|
|
```bash
|
|
$ git clone --recursive https://github.com/redstrate/Novus.git
|
|
```
|
|
|
|
If you missed it, it's possible to initialize the submodules afterward:
|
|
|
|
```bash
|
|
$ git submodule update --init --recursive
|
|
```
|
|
|
|
### Configuring
|
|
|
|
To configure, run `cmake` in the source directory:
|
|
|
|
```bash
|
|
$ cd Novus
|
|
$ cmake -S . -B build
|
|
```
|
|
|
|
This command will create a new build directory and configure the source directory (`.`). If you want to enable more options, pass them now:
|
|
|
|
```bash
|
|
$ cmake -S . -B build -DENABLE_SOMETHING=ON
|
|
```
|
|
|
|
## Building
|
|
|
|
Now begin building the project:
|
|
|
|
```bash
|
|
$ cmake --build build
|
|
```
|
|
|
|
If the build was successful, the tool binaries will be found in `./build/bin`.
|
|
|
|
## Windows
|
|
|
|
Install the following:
|
|
|
|
* [Qt 6.6](https://doc.qt.io/qt-6/get-and-install-qt.html) (with support for the HTTP Server and WebSockets)
|
|
* [Vulkan SDK](https://vulkan.lunarg.com/sdk/home#windows)
|
|
* [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/) (for a C++ compiler)
|
|
* CMake (can be installed with the Visual Studio Build Tools)
|
|
* [Rust](https://www.rust-lang.org/tools/install)
|
|
|
|
Make sure your Qt bin (like `C:\Qt\6.7.0\msvc2019_64\bin`) is in your `PATH` environment variable before building, otherwise Qt will not be picked up by CMake.
|
|
|
|
Afterwards, run `.\scripts\windows-setup.ps1` and `.\scripts\windows-build.ps1` in PowerShell.
|