/poac

Package manager for C++

Primary LanguageC++GNU General Public License v3.0GPL-3.0

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.

Demo

By using poac, you can create a C++ project, build sources and execute an application:

Poac Demo

Supported Operating Systems

Linux macOS Windows
CircleCI Travis CI Build status

Please see 1.1. Installation · The Poac Book for more information about supported OS.

Code Status

GitHub License Github All Releases Coverity Scan Build Status Coverage Status codecov Codacy Badge Language grade: JavaScript CodeFactor

Installation

Easy install

curl -fsSL https://sh.poac.pm | bash

When your OS is macOS, use Homebrew

Manual install (Build)

Poac requires the following tools and packages to build:

$ git clone https://github.com/poacpm/poac.git
$ cd poac
$ mkdir build && cd $_
$ cmake ..
$ make
$ make install

Runtime requirements

  • compiler (GCC | Clang | MSVC | ICC)
  • tar: in publish command
  • dot(graphviz): in graph command
  • git: in install command
  • cmake: optional
  • make: optional

Why poac?

I often see that C++ was said to be a difficult language, and I saw many people who shun 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 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 being stumble. 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 GNU General Public License version 3.

Please see LICENSE for details.

Third party software