poacpm / Poac
Labels
Projects that are alternatives of or similar to Poac
Description
Poac is a package manager for C++ users.
Poac can download project's dependencies and compile project. Please see poac.pm, installation instructions and The Poac Book for more details.
⚠️ Caution! Currently in development and cannot be used.
Demo
By using poac, you can create a C++ project, build sources and execute an application:
Supported Operating Systems
Linux | macOS |
---|---|
Please see 1.1. Installation · The Poac Book for more information about supported OS.
Code Status
Installation
Easy install
curl -fsSL https://sh.poac.pm | bash
For Arch Linux users, there are AUR packages: poac, poac-devel-git, poac-git
Manual install (Build)
Poac requires the following tools and packages to build:
tools
-
cmake
:3.14
or later
packages
The packages with names in italics are not needed installing before the following commands because they will be automatically installed when configuring by CMake.
-
boost
:1.70.0
or later- algorithm
- asio
- beast
- dynamic_bitset
- graph
- predef
- property_tree
- range
- scope_exit
- test (dev)
- uuid
-
clipp
:master
branch -
fmt
:7.1.3
or later -
libarchive
:3.4.3
or later -
libgit2
:0.27
or later -
mitama-cpp-result
:develop
branch -
openssl
: as new as possible -
plog
:1.1.5
or later -
toml11
:3.0.0
or later
$ git clone https://github.com/poacpm/poac.git
$ cd poac
$ mkdir build && cd $_
$ cmake ..
$ make
$ make install
Why Poac?
I often see that C++ was said to be a difficult language, and I saw many people shunned it just because of C++. It was thought that it is hard to construct an environment, there is no definitive package manager, and the strange syntax of the build system CMake, etc. is the cause that makes us feel hesitant.
By developing a package manager and a build system that has an intuitive and easy-to-use interface like npm and Cargo, and users can develop applications and libraries without being aware of CMake, you can focus on learning C++ without stumbling. I also plan to implement integration with many other build systems and package managers, so you should be able to switch seamlessly.
Contributing
Please see CONTRIBUTING.md. You can also find the useful architecture documentation.
License
Poac is licensed under the terms of the Apache License version 2.0.
Please see LICENSE for details.
Third party software
- boost - https://github.com/boostorg/boost/blob/master/LICENSE_1_0.txt
- clipp - https://github.com/muellan/clipp/blob/master/LICENSE
- fmt - https://github.com/fmtlib/fmt/blob/master/LICENSE.rst
- libarchive - https://github.com/libarchive/libarchive/blob/master/COPYING
- libgit2 - https://github.com/libgit2/libgit2/blob/master/COPYING
- mitama-cpp-result - https://github.com/LoliGothick/mitama-cpp-result/blob/master/LICENSE
- openssl - https://github.com/openssl/openssl/blob/master/LICENSE.txt
- plog - https://github.com/SergiusTheBest/plog/blob/master/LICENSE
- toml11 - https://github.com/ToruNiina/toml11/blob/master/LICENSE