Skip to content

Commit

Permalink
README: moved installing from source to INSTALL.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ken-matsui committed Dec 1, 2024
1 parent 2896541 commit ba2bc16
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 70 deletions.
75 changes: 75 additions & 0 deletions INSTALL.md
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
```
72 changes: 2 additions & 70 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,77 +73,9 @@ It can be installed with the AUR helper of your choice.
paru -S poac
```

### Build from source
### Installing from Source

If your environment is not included in the released packages, you have to build Poac from the source. 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 install
```
Although building from source is not recommended, if you really want to do so, see [INSTALL.md](INSTALL.md).

### Runtime Requirements

Expand Down

0 comments on commit ba2bc16

Please sign in to comment.