-
-
Notifications
You must be signed in to change notification settings - Fork 78
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
README: moved installing from source to INSTALL.md
- Loading branch information
1 parent
2896541
commit ba2bc16
Showing
2 changed files
with
77 additions
and
70 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
### Installing from Source | ||
|
||
> [!CAUTION] | ||
> This document explains how to build Poac from source. Building from source is not recommended unless you are familiar with the process. If your goal is simply to install Poac, refer to the [README.md](README.md) instead. | ||
You will require the following compilers, commands, and libraries: | ||
|
||
#### Compilers (that support C++20) | ||
|
||
* GCC: `12` or later | ||
* Clang: `16` or later | ||
* Apple Clang: provided by `macOS Ventura (13)` or later | ||
|
||
(generally, the latest 3 versions are supported to build Poac.) | ||
|
||
#### Commands | ||
|
||
* GNU Make | ||
* Git | ||
* pkg-config | ||
* find | ||
* grep | ||
* mkdir | ||
* rm | ||
|
||
#### Libraries | ||
|
||
* fmt: `>=8.1.1 && <12` | ||
* `libfmt-dev` on APT (Debian/Ubuntu) | ||
* `fmt-devel` on DNF (Fedora) | ||
* `fmt` on Homebrew | ||
* libgit2: `>=1.1.0 && <1.9` | ||
* `libgit2-dev` on APT (Debian/Ubuntu) | ||
* `libgit2-devel` on DNF (Fedora) | ||
* `libgit2` on Homebrew | ||
* libcurl: `>=7.79.1 && <9` | ||
* `libcurl4-openssl-dev` on APT (Debian/Ubuntu) | ||
* `libcurl-devel` on DNF (Fedora) | ||
* `curl` on Homebrew | ||
* nlohmann_json: `>=3.10.5 && <4` | ||
* `nlohmann-json3-dev` on APT (Debian/Ubuntu) | ||
* `json-devel` on DNF (Fedora) | ||
* `nlohmann-json` on Homebrew | ||
* oneTBB: `>=2021.5.0 && <2023` | ||
* `libtbb-dev` on APT (Debian/Ubuntu) | ||
* `tbb-devel` on DNF (Fedora) | ||
* `tbb` on Homebrew | ||
|
||
Installation scripts for libraries: | ||
|
||
* APT (Debian/Ubuntu): | ||
```sh | ||
sudo apt-get update | ||
sudo apt-get install -y libfmt-dev libgit2-dev libcurl4-openssl-dev nlohmann-json3-dev libtbb-dev | ||
``` | ||
* DNF (Fedora): | ||
```sh | ||
sudo dnf install -y fmt-devel libgit2-devel libcurl-devel json-devel tbb-devel | ||
``` | ||
* Homebrew: | ||
```sh | ||
brew install fmt libgit2 curl nlohmann-json tbb | ||
``` | ||
|
||
When running Make, the following libraries will be installed automatically. | ||
|
||
* [toml11](https://github.com/ToruNiina/toml11): [`v4.2.0`](https://github.com/ToruNiina/toml11/releases/tag/v4.2.0) | ||
|
||
Once you have all the necessary requirements in place, you can build Poac by the following commands: | ||
|
||
```bash | ||
git clone https://github.com/poac-dev/poac.git | ||
cd poac | ||
make RELEASE=1 -j$(nproc) install | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters