1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-24 04:57:45 +00:00
novus/BUILDING.md

82 lines
2.7 KiB
Markdown
Raw Normal View History

# Building Novus
2024-05-27 16:40:11 -04:00
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
2024-05-27 16:40:11 -04:00
* [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
```
2024-04-25 14:03:04 -04:00
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)
2024-04-25 18:04:44 -04:00
* [Rust](https://www.rust-lang.org/tools/install)
2024-04-25 14:03:04 -04:00
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.
2024-04-25 14:03:04 -04:00
Afterwards, run `.\scripts\windows-setup.ps1` and `.\scripts\windows-build.ps1` in PowerShell.