Conan-center-index: [request] some of most relevant c++ libraries in github (by number of stars)

Created on 8 Jan 2020  路  64Comments  路  Source: conan-io/conan-center-index

Hi,
As we are migrating old recipes to the c3i, maybe we should prioritize the most relevant ones. I have made a list of some of them ranked by the number of stars. Some of them are already in c3i or there are open PR for them.
The column "In Conan Center" could be inaccurate.
The 30 most starred C++ libraries are:

| | | |
|---|----|---------------|
|Homepage|Stars|In Conan Center|
|https://github.com/opencv/opencv|41273|#2743 |
|https://github.com/google/protobuf|39413|X |
|https://github.com/tesseract-ocr/tesseract|32249|X |
|https://github.com/python/cpython|28672|#1510 |
|https://github.com/grpc/grpc|24502| |
|https://github.com/ocornut/imgui|18411|X |
|https://github.com/nlohmann/json|16947|X |
|https://github.com/curl/curl|15960|X |
|https://github.com/facebook/rocksdb|15809|X |
|https://github.com/libuv/libuv|14206|X |
|https://github.com/facebook/folly|14141|X|
|https://github.com/google/googletest|14113|X |
|https://github.com/vurtun/nuklear|13189|X |
|https://github.com/facebook/yoga|12690| |
|https://github.com/google/guetzli|12240|X |
|https://github.com/nothings/stb|11589|X |
|https://github.com/uWebSockets/uWebSockets|11134|X |
|https://github.com/catchorg/Catch2|10611|X |
|https://github.com/caffe2/caffe2|8478| |
|https://github.com/torch/torch7|8462| |
|https://github.com/davisking/dlib|8435|X |
|https://github.com/lemire/simdjson|8215|X |
|https://github.com/google/brotli|8114|X |
|https://github.com/Microsoft/ChakraCore|8075| |
|https://github.com/jedisct1/libsodium|7926|X |
|https://github.com/gabime/spdlog|7525|X |
|https://github.com/fmtlib/fmt|7457|X |
|https://github.com/skywind3000/kcp|7424|X |
|https://github.com/libgit2/libgit2|7270|X |
|https://github.com/apache/thrift|7116|X |

library request

All 64 comments

I like it! Usually I check https://github.com/trending/c++?since=daily

Some more libraries:

| | | |
|---|----|---------------|
|Homepage|Stars|In Conan Center|
|https://github.com/facebook/proxygen|6485| |
|https://github.com/pybind/pybind11|6477|X |
|https://github.com/abseil/abseil-cpp|6364|X |
|https://github.com/glfw/glfw|5831|X|
|https://github.com/zeromq/libzmq|5817|X |
|https://github.com/bulletphysics/bullet3|5768|X |
|https://github.com/libevent/libevent|5734|X |
|https://github.com/sfml/sfml|5587|#2467 |
|https://github.com/ipkn/crow|5522|#3123 |
|https://github.com/nodejs/http-parser|5145|X |
|https://github.com/Z3Prover/z3|5008|X |
|https://github.com/tiny-dnn/tiny-dnn|4973| |
|https://github.com/assimp/assimp|4972|X |
|https://github.com/apache/arrow|4937|X |
|https://github.com/Microsoft/cpprestsdk|4775|X |
|https://github.com/googlecartographer/cartographer|4749| |
|https://github.com/mysql/mysql-server|4709| |
|https://github.com/google/gumbo-parser|4624|X |
|https://github.com/lz4/lz4|4609|X |
|https://github.com/PointCloudLibrary/pcl|4577|#1891 |
|https://github.com/google/re2|4373|X |
|https://github.com/electronicarts/EASTL|4358|X |
|https://github.com/open-source-parsers/jsoncpp|4302|X |
|https://github.com/svaarala/duktape|4240| X |
|https://github.com/redis/hiredis|4173|X |
|https://github.com/pocoproject/poco|4039|X |
|https://github.com/google/benchmark|3984|X |
|https://github.com/aquynh/capstone|3955| |
|https://github.com/ValveSoftware/openvr|3944|X |
|https://github.com/google/snappy|3892|X |
|https://github.com/mozilla/mozjpeg|3858|X |
|https://github.com/edenhill/librdkafka|3851|X |
|https://github.com/DaveGamble/cJSON|3838|X |
|https://github.com/wren-lang/wren|3792| |
|https://github.com/Microsoft/GSL|3780|X |
|https://github.com/FreeRDP/FreeRDP|3725| |
|https://github.com/microsoft/mimalloc|3671|#2463 |
|https://github.com/google/jsonnet|3636| |
|https://github.com/zaphoyd/websocketpp|3547|X|
|https://github.com/Cyan4973/xxHash|3543| |
|https://github.com/IntelRealSense/librealsense|3522| |
|https://github.com/google/glog|3518|X |
|https://github.com/halide/Halide|3504| |
|https://github.com/memononen/nanovg|3329| |
|https://github.com/VirusTotal/yara|3317| |
|https://github.com/google/draco|3240|X |
|https://github.com/nghttp2/nghttp2|3208|X |
|https://github.com/wjakob/nanogui|3160| |
|https://github.com/unicorn-engine/unicorn|3138| |
|https://github.com/xianyi/OpenBLAS|3098|X. |
|https://github.com/recastnavigation/recastnavigation|3042|X |
|https://github.com/leethomason/tinyxml2|2963|X |
|https://github.com/wxWidgets/wxWidgets|2790| |
|https://github.com/whoshuu/cpr|2557|X |
|https://github.com/skypjack/entt|2510|X |
|https://github.com/ericniebler/range-v3|2506|X |
|https://github.com/warmcat/libwebsockets|2397|X |
|https://github.com/boostorg/beast|2396|X |
|https://github.com/RandyGaul/cute_headers|2334|X |
|https://github.com/libusb/libusb|2287|X |
|https://github.com/onqtam/doctest|2247|X |
|https://github.com/ARMmbed/mbedtls|2218|X |
|https://github.com/madler/zlib|2209|X |
|https://github.com/USCiLab/cereal|2200|X |
|https://github.com/arvidn/libtorrent|2175|X |
|https://github.com/akheron/jansson|2112|X |
|https://github.com/weidai11/cryptopp|2091|X |
|https://github.com/libigl/libigl|2081| |
|https://github.com/Microsoft/bond|2079|#2379 |
|https://github.com/htacg/tidy-html5|2066| |
|https://github.com/chriskohlhoff/asio|2059|X |
|https://github.com/Qihoo360/evpp|2058| |
|https://github.com/asmjit/asmjit|2028| |
|https://github.com/zeux/pugixml|2003|X |
|https://github.com/Reactive-Extensions/RxCpp|1941|X |
|https://github.com/ChaiScript/ChaiScript|1895|X |
|https://github.com/ThePhD/sol2|1857|X|
|https://github.com/kokke/tiny-AES-c|1845| |
|https://github.com/libjpeg-turbo/libjpeg-turbo|1838|X |
|https://github.com/LuaJIT/LuaJIT|1821| |
|https://github.com/msgpack/msgpack-c|1812|X |
|https://github.com/oktal/pistache|1807| |
|https://github.com/jbeder/yaml-cpp|1793|X |
|https://github.com/yhirose/cpp-httplib|1787|X |
|https://github.com/01org/tbb|1766|X |
|https://github.com/searchivarius/nmslib|1761| |
|https://github.com/json-c/json-c|1733|X |
|https://github.com/EasyHook/EasyHook|1683| |
|https://github.com/jarro2783/cxxopts|1657|X |
|https://github.com/CGAL/cgal|1653|X|
|https://github.com/openscenegraph/OpenSceneGraph|1640|#2702 |
|https://github.com/gflags/gflags|1628|X |
|https://github.com/HowardHinnant/date|1623|X |
|https://github.com/ntop/PF_RING|1600| |
|https://github.com/libffi/libffi|1592|X |
|https://github.com/alecthomas/entityx|1585| |
|https://github.com/aubio/aubio|1581| |
|https://github.com/google/butteraugli|1549|X |
|https://github.com/OpenKinect/libfreenect2|1529| |
|https://github.com/google/angle|1524| |
|https://github.com/lzfse/lzfse|1503|X |
|https://github.com/khizmax/libcds|1494|X |
|https://github.com/lava/matplotlib-cpp|1492| |
|https://github.com/cnjinhao/nana|1477| |
|https://github.com/OGRECave/ogre|1470| |
|https://github.com/lsalzman/enet|1465|X |
|https://github.com/apache/avro|1456| |
|https://github.com/nigels-com/glew|1444|X |
|https://github.com/fukuchi/libqrencode|1419|X |
|https://github.com/floooh/sokol|1406| |
|https://github.com/protobuf-c/protobuf-c|1397|X |
|https://github.com/slembcke/Chipmunk2D|1395| |
|https://github.com/ceres-solver/ceres-solver|1379|X|
|https://github.com/LMDB/lmdb|1377| |
|https://github.com/STEllAR-GROUP/hpx|1338| |
|https://github.com/KhronosGroup/glslang|1336|X |
|https://github.com/behdad/harfbuzz|1310|X |
|https://github.com/google/fruit|1304|X |
|https://github.com/mariusmuja/flann|1270|X |
|https://github.com/Kitware/VTK|1248| |
|https://github.com/BinomialLLC/basis_universal|1223| |
|https://github.com/rttrorg/rttr|1195|X |
|https://github.com/alanxz/rabbitmq-c|1171|X |
|https://github.com/libarchive/libarchive|1162|X |
|https://github.com/embree/embree|1144|#354 |
|https://github.com/embree/embree|1144| |
|https://github.com/silentbicycle/greatest|1144|X |
|https://github.com/google/breakpad|1143| |
|https://github.com/sharkdp/dbg-macro|1125|X |
|https://github.com/lvandeve/lodepng|1073|X |
|https://github.com/boostorg/compute|1069|X |
|https://github.com/boostorg/hana|1051|X |
|https://github.com/diegonehab/luasocket|1048| |
|https://github.com/orlp/pdqsort|1048| |
|https://github.com/rougier/freetype-gl|1042|X |
|https://github.com/jackaudio/jack2|1041| |
|https://github.com/OpenImageIO/oiio|1016|#2017 |
|https://github.com/kkos/oniguruma|1010| |
|https://github.com/dreamworksanimation/openvdb|1005| |
|https://github.com/c-ares/c-ares|978 |X |
|https://github.com/aws/aws-sdk-cpp|964 |#1146 |
|https://github.com/sparsehash/sparsehash|964 | |
|https://github.com/vczh-libraries/Release|950 | |
|https://github.com/libharu/libharu|946 | |
|https://github.com/codeplea/genann|943 | |
|https://github.com/emweb/wt|937 |X |
|https://github.com/quickfix/quickfix|933 | X |
|https://github.com/CLIUtils/CLI11|929 |X |
|https://github.com/webmproject/libwebp|909 |X |
|https://github.com/c-smile/sciter-sdk|909 | |
|https://github.com/stevenlovegrove/Pangolin|901 | |
|https://github.com/jlblancoc/nanoflann|895 |X |
|https://github.com/skypjack/uvw|893 |X |
|https://github.com/liballeg/allegro5|886 | |
|https://github.com/bitcoin-core/secp256k1|877 | |
|https://github.com/log4cplus/log4cplus|863 |X |
|https://github.com/kcat/openal-soft|860 |X |
|https://github.com/xiph/opus|847 |X |
|https://github.com/mlabbe/nativefiledialog|846 | |
|https://github.com/hunspell/hunspell|831 | |
|https://github.com/ben-strasser/fast-cpp-csv-parser|830 |X |
|https://github.com/kazuho/picojson|829 |X |
|https://github.com/Microsoft/cppwinrt|823 | |
|https://github.com/SRombauts/SQLiteCpp|823 |X |
|https://github.com/zeromq/czmq|818 |X |
|https://github.com/SOCI/soci|817 |#1626 |
|https://github.com/Haivision/srt|812 |X |
|https://github.com/SergiusTheBest/plog|806 |X |
|https://github.com/DanBloomberg/leptonica|778 |X |
|https://github.com/strasdat/Sophus|770 |X |
|https://github.com/rpclib/rpclib|759 | |
|https://github.com/axiomatic-systems/Bento4|758 | |
|https://github.com/google/shaderc|749 |X |
|https://github.com/OSGeo/PROJ|743 |X |
|https://github.com/vurtun/mmx|738 | |
|https://github.com/pmem/pmdk|738 | |
|https://github.com/dtschump/CImg|732 |X |
|https://github.com/eclipse/paho.mqtt.c|729 |X |
|https://github.com/zeromq/cppzmq|726 |X |
|https://github.com/Neargye/magic_enum|724 |X |
|https://github.com/cpputest/cpputest|719 | |
|https://github.com/dmlc/dmlc-core|719 | |
|https://github.com/taglib/taglib|714 | |
|https://github.com/vmt/udis86|697 | |
|https://github.com/mongodb/mongo-cxx-driver|695 | |
|https://github.com/apolukhin/magic_get a.k.a. pfr|693 |X |
|https://github.com/Taywee/args|682 | |
|https://github.com/google/double-conversion|671 |X |
|https://github.com/LukasBanana/LLGL|666 | |
|https://github.com/p-ranav/pprint|665 |X |
|https://github.com/stevengj/nlopt|650 |X |
|https://github.com/QuantStack/xsimd|641 |X |
|https://github.com/zeromq/zyre|633 |X |
|https://github.com/Blosc/c-blosc|627 |X |
|https://github.com/tfussell/xlnt|625 | |
|https://github.com/philsquared/Clara|620 |X |
|https://github.com/mstorsjo/fdk-aac|618 |X |
|https://github.com/InsightSoftwareConsortium/ITK|612 |X |
|https://github.com/cginternals/glbinding|607 | |
|https://github.com/boost-experimental/di|605 |X |
|https://github.com/google/cityhash|604 | |
|https://github.com/lieff/minimp3|603 |X |
|https://github.com/discordapp/discord-rpc|598 | |
|https://github.com/hyperrealm/libconfig|596 | |
|https://github.com/erikd/libsndfile|592 |X|
|https://github.com/Neargye/nameof|587 |X |
|https://github.com/Orc/discount|584 | |
|https://github.com/mattiasgustavsson/libs|574 |X |
|https://github.com/mongodb/mongo-c-driver|574 |X |
|https://github.com/bolero-MURAKAMI/Sprout|569 | |
|https://github.com/libcheck/check|567 | |
|https://github.com/lighttransport/nanort|559 | |
|https://github.com/sweeneychris/TheiaSfM|546 | |
|https://github.com/OpenSCAP/openscap|539 | |
|https://github.com/KjellKod/g3log|537 |X |
|https://github.com/keplerproject/luafilesystem|533 | |
|https://github.com/laurikari/tre|530 | |
|https://github.com/uclouvain/openjpeg|526 |X |
|https://github.com/flexible-collision-library/fcl|524 |X |
|https://github.com/glennrp/libpng|523 |X |
|https://github.com/webmproject/libvpx|513 | |

maybe extend the table with a checkbox which shows the already existing ones?

I have updated the table to show the ones that are already merged in conan center index.
There could be false positives (or negatives) in the table as I have generated it with a simple name comparison.

nlohmann json is here

Nice initiative! This is also interesting https://github.com/fffaraz/awesome-cpp

From top 5, deps not in CCI (i'm looking at bincrafters recipies):

  • opencv : gstreamer, gst-plugins-base, openblas, ffmpeg, lapack, harfbuzz & gtk2/gtk3.
  • tesseract: pkg-config_installer
  • cpython: ?

* grpc: protoc? Efforts by @Croydon https://github.com/grpc/grpc/issues/15363 https://github.com/inexorgame/conan-grpc

  • imgui: complexity depends on bindings, should CCI support all bindings or its just a consumer problem?
  • curl: libcurl is in CCI

@Hopobcn , I am working now on packaging a new tesseract version (4.1.1) for CCI and Bincrafters. A previous version 4.0.0 from bincrafters/conan-tesseract cannot be ported easily to CCI. Unfortunately, Tesseract changes their build files and even build systems (CPPAN, SW, cmake, pkg-config) very often and it is not very easy to track them.

For the new version pkg-config is not needed and therefore pkg-config_installer because a pure cmake solution is used.

@ericLemanissier , by the way, I saw your commits on testing/4.1.0 regarding pkg-config. I think we can focus on my branch testing/4.1.1 instead (that includes your work too, of course).

As far as I understand for all libraries from this issue I shall not create issue-request-for-adding, right? Should I create issues for libraries which are not listed in this issue, but listed in awesome-cpp repository (honestly I think it will a waste of our time and a lot of noise)?

Btw, for now I'm thinking about some sort of automatization for one annoying (at least for me) issue: requesting creating a release for a library which would be packaged in Conan. Any suggestions/ideas/anything else? :)

yes, it is not necessary to add additional issues for the libraries listed here unless you want to discuss a specific issue about any of them.

For the release request issue, I think automating something like that could be annoying for library authors and might generate some push back in the end. I'd prefer to keep it personal and write to the authors when needed

entt is available in cci

paho.mqtt.c is now available

abseil: #801
libzmq: #489
bullet3: #440
OpenBLAS: #705
libtorrent: #815
ChaiScript: #828
libqrencode: #863
embree: #354
czmq: #490
PROJ: #751
cppzmq: #491
nghttp2: #173
msgpack-c: #883
openvr: #579
pybind11: #464

List updated! Thanks a lot!

Already mentioned but, nlohmann/json: https://github.com/conan-io/conan-center-index/pull/131

Hi @IceflowRE
It's already in the first comment marked as included in c3i

Does anyone work on the recipe for https://github.com/uWebSockets/uWebSockets?

@SpaceIm updated!

I am aware that there is a recipe for Apache Thrift v0.30.0 in the Bincrafters GitHub. Are there plans to provide recipes for later versions of Thrift (e.g 0.90) and to include them in CCI?

All Bincrafters recipes will be migrated to CCI at some point, but for several reasons many recipes can't be migrated yet, some others could, but it is a matter of contributors and their time.

Thrift requires winflexbison, bison and flex which are not yet in CCI. They need to be migrated first.

Requesting new versions should be seen as a separate issue. If you wish for new versions of Bincrafters packages, please fill an issue here: https://github.com/bincrafters/community/issues

@Croydon Thank you very much for the clarification! Are Bincrafters packages deemed stable or are they considered work-in-progress and once complete then migrated to CCI?

Are Bincrafters packages deemed stable or are they considered work-in-progress and once complete then migrated to CCI?

Generally speaking, Bincrafters package can be considered stable.

Great, thanks for the info

@czoido tesseract is ready via #1149

@theirix great! table updated! 馃コ

I have packaged current version of grpc at https://github.com/0x8000-0000/conan-recipes, tested on Linux only. This is my first effort at packaging, so feedback is welcome. If you want to integrate this grpc package, that would be great, too.

I haven't tried it on Windows yet, or tried anything more strenuous than run the greeter example.

@0x8000-0000 Thanks for contributing. We are working towards a solid GRPC recipe for a long time now and it is still not there yet that we can include it in CCI. See my quick feedback here: https://github.com/inexorgame/conan-grpc/issues/37

There are also tons of other issues which may or may not block inclusion further afterwards. grpc is unfortunately non-trivial and breaks quite frequently with new versions or requires new dependencies.

@0x8000-0000 Thanks for contributing. We are working towards a solid GRPC recipe for a long time now and it is still not there yet that we can include it in CCI. See my quick feedback here: inexorgame/conan-grpc#37

There are also tons of other issues which may or may not block inclusion further afterwards. grpc is unfortunately non-trivial and breaks quite frequently with new versions or requires new dependencies.

For now I have some interest in keeping the current version packageable, so I am willing to lend some time and perseverance in making it so. I am comfortable with C++ but the nuances of four flavors of CMake generators, and several CMake major revisions and styles give me headaches :)

@SpaceIm thanks a lot! List updated!

@czoido , quickfix recipe is merged already (#1847, #1911, #1987).

Does anyone work on the recipe for https://github.com/uWebSockets/uWebSockets?

Filled in #2069 . We can update a list too.

By the way, libwebsockets is already here via PR #1872

Rocksdb is merged

added recipes:
greatest #2132
sophus #2133
gumbo-parser done #2138

Thanks a lot @theirix
Table updated!

wt and glew have been merged

I think ChakraCore can be striked through as it will only receive security updates and will be archived next year. Also I don't think that it was ever used much outside of Microsoft

duktape is in

uvw is done via #2365
lodepng is done via #2359

plog is done via #2368

plog is done via #2368

Thanks @Croydon! Updated

shaderc is done via #2299

openvr is done via #2355

done!

cli11 is done via #2259

cli11 updated, thanks!
Also updated some libraries that were recently merged: z3, arrow, openvr, glslang, greatest, sophus, shaderc, proj.

sfml: https://github.com/conan-io/conan-center-index/pull/2467
pcl: https://github.com/conan-io/conan-center-index/pull/1891
librdkafka: in CCI (https://github.com/conan-io/conan-center-index/pull/1906)
rabbitmq-c: in CCI (https://github.com/conan-io/conan-center-index/pull/2046)
nanoflann: in CCI (https://github.com/conan-io/conan-center-index/pull/1865)
srt: in CCI (https://github.com/conan-io/conan-center-index/pull/2126)
magic_enum: in CCI (https://github.com/conan-io/conan-center-index/pull/1407)
dbg-macro: in CCI (https://github.com/conan-io/conan-center-index/pull/1907)
cimg: in CCI (https://github.com/conan-io/conan-center-index/pull/816)
ITK: in CCI (https://github.com/conan-io/conan-center-index/pull/2358)
g3log: in CCI (https://github.com/conan-io/conan-center-index/pull/1294)

Thanks a lot @SpaceIm, list updated!

Done! Thanks @SpaceIm !

cryptopp #1724 is merged

magic_get a.k.a pfr is done via #3078

mongo-c-driver is done via #3451

Was this page helpful?
0 / 5 - 0 ratings