|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Vcpkg||19,785||3 hours ago||22||September 15, 2022||1,182||mit||CMake|
|C++ Library Manager for Windows, Linux, and MacOS|
|Xmake||7,799||2 days ago||1||February 27, 2018||87||apache-2.0||Lua|
|🔥 A cross-platform build utility based on Lua|
|Conan||7,220||48||54||8 hours ago||363||July 26, 2023||2,082||mit||Python|
|Conan - The open-source C and C++ package manager|
|Mamba||5,219||2||3 hours ago||39||July 26, 2022||459||bsd-3-clause||C++|
|The Fast Cross-Platform Package Manager|
|Cpm.cmake||2,151||7 days ago||85||mit||CMake|
|📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.|
|Modern Cpp Template||1,190||10 months ago||7||unlicense||CMake|
|A template for modern C++ projects using CMake, Clang-Format, CI, unit testing and more, with support for downstream inclusion.|
|Cmake Conan||743||3 days ago||177||mit||Python|
|CMake wrapper for conan C and C++ package manager|
|Cget||430||2||5 months ago||15||October 25, 2021||47||other||Python|
|C++ package retrieval|
|Ocean||144||3 years ago||2||mit||Rust|
|A C/C++ build system/project manager written in Rust|
|Autowiring||137||4 years ago||7||apache-2.0||C++|
|A C++ Inversion of Control Framework|
Decentralized, open-source (MIT), C/C++ package manager.
Conan is a package manager for C and C++ developers:
This is the developer/maintainer documentation. For user documentation, go to https://docs.conan.io
You can run Conan from source in Windows, MacOS, and Linux:
Install pip following pip docs.
Clone Conan repository:
$ git clone https://github.com/conan-io/conan.git conan-io
Note: repository directory name matters, some directories are known to be problematic to run tests (e.g.
conan-iodirectory name was tested and guaranteed to be working.
Install in editable mode
$ cd conan-io && sudo pip install -e .
If you are in Windows, using
sudo is not required.
You are ready, try to run Conan:
$ conan --help Consumer commands install Installs the requirements specified in a recipe (conanfile.py or conanfile.txt). ... Conan commands. Type "conan <command> -h" for help
Feedback and contribution are always welcome in this project. Please read our contributing guide. Also, if you plan to contribute, please add some testing for your changes. You can read the Conan tests guidelines section for some advice on how to write tests for Conan.
Install Python requirements
$ python -m pip install -r conans/requirements_server.txt $ python -m pip install -r conans/requirements_dev.txt
If you are not on Windows and you are not using a Python virtual environment, you will need to run these
Before you can run the tests, you need to set a few environment variables first.
$ export PYTHONPATH=$PYTHONPATH:$(pwd)
On Windows it would be (while being in the Conan root directory):
$ set PYTHONPATH=.
Conan test suite defines and configures some required tools (CMake, Ninja, etc) in the
conftest.py and allows to define a custom
Some specific versions, like cmake>=3.15 are necessary.
You can run the tests like this:
$ python -m pytest .
A few minutes later it should print
............................................................................................ ---------------------------------------------------------------------- Ran 146 tests in 50.993s OK
To run specific tests, you can specify the test name too, something like:
$ python -m pytest conans/test/unittests/client/cmd/export_test.py::ExportTest::test_export_warning -s
-s argument can be useful to see some output that otherwise is captured by pytest.
Also, you can run tests against an instance of Artifactory. Those tests should add the attribute
$ python -m pytest . -m artifactory_ready
Some environment variables have to be defined to run them. For example, for an Artifactory instance that is running on the localhost with default user and password configured, the variables could take the values:
$ export CONAN_TEST_WITH_ARTIFACTORY=1 $ export ARTIFACTORY_DEFAULT_URL=http://localhost:8081/artifactory $ export ARTIFACTORY_DEFAULT_USER=admin $ export ARTIFACTORY_DEFAULT_PASSWORD=password
ARTIFACTORY_DEFAULT_URL is the base URL for the Artifactory repo, not one for a specific
repository. Running the tests with a real Artifactory instance will create repos on the fly so please
use a separate server for testing purposes.