Skip to content

Libraries

Name Version cpm.dependencies Categories
7-Zip
[UNOFFICIAL MIRROR] A file archiver with a high compression ratio
24.09
cpm.dependencies/cpmpack.json
    {
      "name": "7-Zip",
      "version": "24.09",
      "github_repository": "rikyoz/7-Zip",
      "cmake_commands": [
        "file(GLOB SOURCE_FILES ${CPM_CURRENT_SOURCE_DIR}/C/*.c)",
        "add_library(7-Zip_impl ${SOURCE_FILES})",
        "target_include_directories(7-Zip_impl PUBLIC SYSTEM ${CPM_CURRENT_SOURCE_DIR}/CPP/ ${CPM_CURRENT_SOURCE_DIR}/C/)",
        "add_library(7-zip::7-zip ALIAS 7-Zip_impl)",
        "set(BIT7Z_CUSTOM_7ZIP_PATH ${CPM_CURRENT_SOURCE_DIR})"
      ]
    }

  • compression
CGraph
A common used C++ DAG framework
2.6.2
cpm.dependencies/cpmpack.json
    {
      "name": "CGraph",
      "version": "2.6.2",
      "github_repository": "ChunelFeng/CGraph",
      "cmake_commands": [
        "add_library(cgraph STATIC $<TARGET_OBJECTS:CGraph>)",
        "target_link_libraries(cgraph INTERFACE CGraph)",
        "target_include_directories(cgraph SYSTEM INTERFACE ${CPM_CURRENT_SOURCE_DIR}/src)",
        "add_library(cgraph::cgraph ALIAS cgraph)"
      ]
    }

  • frameworks
CMakeUseCCache
Enables auto usage of ccache with cmake and CPM
1.0.0
cpm.dependencies/cpmpack.json
    {
      "name": "CMakeUseCCache",
      "version": "1.0.0",
      "github_repository": "SGSSGene/CMakeUseCCache",
      "cmake_commands": "require_ccache()"
    }

  • tools
  • cpm
Catch2
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later
3.8.0
cpm.dependencies/cpmpack.json
    {
      "name": "Catch2",
      "version": "3.8.0",
      "github_repository": "catchorg/Catch2"
    }

  • debug
GroupSourcesByFolder.cmake
Automatically group sources by folder structure for Visual Studio/Xcode generators
1.0
cpm.dependencies/cpmpack.json
    {
      "name": "GroupSourcesByFolder.cmake",
      "version": "1.0",
      "github_repository": "TheLartians/GroupSourcesByFolder.cmake"
    }

  • tools
  • cpm
IVio
IO library for file formats used in bioinformatics
0.4.3
cpm.dependencies/cpmpack.json
    {
      "name": "IVio",
      "version": "0.4.3",
      "github_repository": "iv-project/IVio"
    }

  • bioinformatic
  • fileformat
PackageProject.cmake
🏛️ Help other developers use your project. A CMake script for packaging C/C++ projects for simple project installation while employing best-practices for maximum compatibility.
1.13.0
cpm.dependencies/cpmpack.json
    {
      "name": "PackageProject.cmake",
      "version": "1.13.0",
      "github_repository": "TheLartians/PackageProject.cmake"
    }

  • tools
  • cpm
absl
Abseil Common Libraries (C++)
20240722.0
cpm.dependencies/cpmpack.json
    {
      "name": "absl",
      "version": "20240722.0",
      "github_repository": "abseil/abseil-cpp",
      "git_tag": "{VERSION}",
      "options": [
        "ABSL_ENABLE_INSTALL ON",
        "ABSL_PROPAGATE_CXX_STD ON"
      ]
    }

  • framework
benchmark
A microbenchmark support library
1.9.1
cpm.dependencies/cpmpack.json
    {
      "name": "benchmark",
      "version": "1.9.1",
      "github_repository": "google/benchmark",
      "options": [
        "BENCHMARK_ENABLE_TESTING OFF",
        "BENCHMARK_ENABLE_INSTALL OFF",
        "BENCHMARK_ENABLE_GTEST_TESTS OFF"
      ]
    }

  • debug
bit7z
A C++ static library offering a clean and simple interface to the 7-zip shared libraries.
4.0.7-dirty
cpm.dependencies/cpmpack.json
    {
      "name": "bit7z",
      "version": "4.0.7-dirty",
      "github_repository": "rikyoz/bit7z",
      "git_tag": "f04d819e8eb82474532e3da4925e5dd247ea35bb"
    }

  • compression
bzip2
bzip2 is a freely available, patent free (see below), high-quality data compressor.
1.0.8
cpm.dependencies/cpmpack.json
    {
      "name": "bzip2",
      "version": "1.0.8",
      "url": "https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz",
      "download_only": true,
      "cmake_commands": [
        "add_library(bzip2 ${CPM_CURRENT_SOURCE_DIR}/blocksort.c ${CPM_CURRENT_SOURCE_DIR}/bzip2.c ${CPM_CURRENT_SOURCE_DIR}/bzlib.c ${CPM_CURRENT_SOURCE_DIR}/compress.c ${CPM_CURRENT_SOURCE_DIR}/crctable.c ${CPM_CURRENT_SOURCE_DIR}/decompress.c ${CPM_CURRENT_SOURCE_DIR}/huffman.c ${CPM_CURRENT_SOURCE_DIR}/makefile.msc ${CPM_CURRENT_SOURCE_DIR}/randtable.c)",
        "target_include_directories(bzip2 SYSTEM INTERFACE ${bzip2_SOURCE_DIR})",
        "add_library(bzip2::bzip2 ALIAS bzip2)"
      ]
    }

  • compression
cereal
A C++11 library for serialization
1.3.2
cpm.dependencies/cpmpack.json
    {
      "name": "cereal",
      "version": "1.3.2",
      "github_repository": "USCiLab/cereal",
      "options": [
        "BUILD_DOC OFF",
        "BUILD_SANDBOX OFF",
        "SKIP_PERFORMANCE_COMPARISON ON"
      ]
    }

  • serialization
cndl
An easy to use embeddable webserver (incl websockets) for your C++ project
1.2.1
cpm.dependencies/cpmpack.json
    {
      "name": "cndl",
      "version": "1.2.1",
      "github_repository": "SGSSGene/cndl"
    }

  • webserver
compile-time-regular-expressions
Compile Time Regular Expression in C++
3.9.0
cpm.dependencies/cpmpack.json
    {
      "name": "compile-time-regular-expressions",
      "version": "3.9.0",
      "github_repository": "hanickadot/compile-time-regular-expressions",
      "git_tag_ignore": [
        "cppcon2018",
        "2017"
      ]
    }

  • regex
cpm_check_version
CMake+CPM packages helping to check for newer package versions
0.1.1
cpm.dependencies/cpmpack.json
    {
      "name": "cpm_check_version",
      "version": "0.1.1",
      "github_repository": "SGSSGene/cpm_check_version",
      "cmake_commands": [
        "enable_testing()",
        "cpm_check_version(glad compile-time-regular-expressions PackageProject.cmake bit7z absl reflect benchmark CGraph re2)"
      ]
    }

  • tools
  • cpm
cxxopts
Lightweight C++ command line option parser
3.2.1
cpm.dependencies/cpmpack.json
    {
      "name": "cxxopts",
      "version": "3.2.1",
      "github_repository": "jarro2783/cxxopts",
      "options": [
        "CXXOPTS_BUILD_EXAMPLES OFF",
        "CXXOPTS_BUILD_TESTS OFF"
      ]
    }

  • terminal
doctest
The fastest feature-rich C++11/14/17/20/23 single-header testing framework
2.4.11
cpm.dependencies/cpmpack.json
    {
      "name": "doctest",
      "version": "2.4.11",
      "github_repository": "doctest/doctest"
    }

  • debug
flatbuffers
FlatBuffers: Memory Efficient Serialization Library
24.12.23
cpm.dependencies/cpmpack.json
    {
      "name": "flatbuffers",
      "version": "24.12.23",
      "github_repository": "google/flatbuffers",
      "options": [
        "FLATBUFFERS_BUILD_TESTS OFF",
        "FLATBUFFERS_INSTALL OFF"
      ]
    }

  • serialization
fmindex-collection
missing
0.4.3
cpm.dependencies/cpmpack.json
    {
      "name": "fmindex-collection",
      "version": "0.4.3",
      "github_repository": "SGSSGene/fmindex-collection"
    }

  • bioinformatic
fmt
A modern formatting library
11.1.1
cpm.dependencies/cpmpack.json
    {
      "name": "fmt",
      "version": "11.1.1",
      "github_repository": "fmtlib/fmt",
      "git_tag": "{VERSION}"
    }

  • miscellaneous
glad
Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.
0.1.36
cpm.dependencies/cpmpack.json
    {
      "name": "glad",
      "version": "0.1.36",
      "github_repository": "Dav1dde/glad",
      "git_tag_ignore": [
        "v2.*"
      ]
    }

  • graphics
glfw
A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
3.4
cpm.dependencies/cpmpack.json
    {
      "name": "glfw",
      "version": "3.4",
      "github_repository": "glfw/glfw",
      "git_tag": "{VERSION}",
      "options": [
        "GLFW_BUILD_TESTS OFF",
        "GLFW_BUILD_EXAMPLES OFF",
        "GLFW_BUILD_DOCS OFF",
        "GLFW_INSTALL OFF",
        "GLFW_USE_HYBRID_HPG ON",
        "GLFW_BUILD_WAYLAND OFF",
        "GLFW_BUILD_X11 OFF"
      ]
    }

  • graphics
googletest
GoogleTest - Google Testing and Mocking Framework
1.15.2
cpm.dependencies/cpmpack.json
    {
      "name": "googletest",
      "version": "1.15.2",
      "github_repository": "google/googletest",
      "options": [
        "BUILD_GMOCK ON"
      ]
    }

  • debug
jsoncpp
A C++ library for interacting with JSON.
1.9.6
cpm.dependencies/cpmpack.json
    {
      "name": "jsoncpp",
      "version": "1.9.6",
      "github_repository": "open-source-parsers/jsoncpp",
      "git_tag": "{VERSION}",
      "options": [
        "JSONCPP_WITH_TESTS OFF"
      ]
    }

  • json
  • fileformat
libsais
libsais is a library for linear time suffix array, longest common prefix array and burrows wheeler transform construction based on induced sorting algorithm.
2.8.6
cpm.dependencies/cpmpack.json
    {
      "name": "libsais",
      "version": "2.8.6",
      "github_repository": "IlyaGrebnov/libsais"
    }

  • bioinformatic
libsamplerate
An audio Sample Rate Conversion library
0.2.2
cpm.dependencies/cpmpack.json
    {
      "name": "libsamplerate",
      "version": "0.2.2",
      "github_repository": "libsndfile/libsamplerate",
      "git_tag": "{VERSION}",
      "options": [
        "BUILD_TESTING OFF",
        "LIBSAMPLERATE_EXAMPLES OFF",
        "LIBSAMPLERATE_INSTALL OFF",
        "LIBSAMPLERATE_INSTALL_PKGCONFIG OFF"
      ]
    }

  • audio
libsndfile
A C library for reading and writing sound files containing sampled audio data.
1.2.2
cpm.dependencies/cpmpack.json
    {
      "name": "libsndfile",
      "version": "1.2.2",
      "github_repository": "libsndfile/libsndfile",
      "git_tag": "{VERSION}",
      "options": [
        "BUILD_TESTING OFF",
        "BUILD_PROGRAMS OFF",
        "BUILD_EXAMPLES OFF",
        "BUILD_REGTEST OFF",
        "ENABLE_PACKAGE_CONFIG OFF",
        "INSTALL_PKGCONFIG_MODULE OFF"
      ]
    }

  • audio
  • fileformat
linenoise
A small self-contained alternative to readline and libedit
1.0
cpm.dependencies/cpmpack.json
    {
      "name": "linenoise",
      "version": "1.0",
      "github_repository": "antirez/linenoise",
      "git_tag": "{VERSION}",
      "download_only": true,
      "cmake_commands": [
        "add_library(linenoise ${CPM_CURRENT_SOURCE_DIR}/linenoise.c)",
        "target_include_directories(linenoise PUBLIC ${CPM_CURRENT_SOURCE_DIR})"
      ]
    }

  • terminal
matplotplusplus
Matplot++: A C++ Graphics Library for Data Visualization 📊🗾
1.2.1
cpm.dependencies/cpmpack.json
    {
      "name": "matplotplusplus",
      "version": "1.2.1",
      "github_repository": "alandefreitas/matplotplusplus"
    }

  • visualization
mimalloc
mimalloc is a compact general purpose allocator with excellent performance.
3.0.1
cpm.dependencies/cpmpack.json
    {
      "name": "mimalloc",
      "version": "3.0.1",
      "github_repository": "microsoft/mimalloc",
      "options": [
        "MI_BUILD_TESTS OFF"
      ],
      "git_tag_ignore": [
        "win-m4",
        "M3",
        "show",
        "list"
      ]
    }

  • memory allocation
nanobench
Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20
4.3.11
cpm.dependencies/cpmpack.json
    {
      "name": "nanobench",
      "version": "4.3.11",
      "github_repository": "martinus/nanobench"
    }

  • debug
nlohman_json
JSON for Modern C++
3.11.3
cpm.dependencies/cpmpack.json
    {
      "name": "nlohman_json",
      "version": "3.11.3",
      "github_repository": "nlohmann/json"
    }

  • json
  • fileformat
oniguruma
regular expression library
6.9.10
cpm.dependencies/cpmpack.json
    {
      "name": "oniguruma",
      "version": "6.9.10",
      "github_repository": "kkos/oniguruma"
    }

  • regex
pcre2
PCRE2 development is now based here.
10.45-RC1
cpm.dependencies/cpmpack.json
    {
      "name": "pcre2",
      "version": "10.45-RC1",
      "github_repository": "PCRE2Project/pcre2",
      "git_tag": "pcre2-{VERSION}",
      "options": [
        "PCRE2_BUILD_TESTS OFF"
      ]
    }

  • regex
progress-cpp
A flexible ASCII progress-bar for C++
null
cpm.dependencies/cpmpack.json
    {
      "name": "progress-cpp",
      "github_repository": "prakhar1989/progress-cpp",
      "git_tag": "7bfba0d22d19c41323aa35541618b6ebec9d737c"
    }

  • terminal
pugixml
Light-weight, simple and fast XML parser for C++ with XPath support
1.14
cpm.dependencies/cpmpack.json
    {
      "name": "pugixml",
      "version": "1.14",
      "github_repository": "zeux/pugixml",
      "options": [
        "BUILD_SHARED_LIBS OFF"
      ]
    }

  • xml
pybind11
Seamless operability between C++11 and Python
2.13.6
cpm.dependencies/cpmpack.json
    {
      "name": "pybind11",
      "version": "2.13.6",
      "github_repository": "pybind/pybind11"
    }

  • scripting
rang
A Minimal, Header only Modern c++ library for terminal goodies 💄✨
3.2
cpm.dependencies/cpmpack.json
    {
      "name": "rang",
      "version": "3.2",
      "github_repository": "agauniyal/rang"
    }

  • terminal
rapidyaml
Rapid YAML - a library to parse and emit YAML, and do it fast
0.7.2
cpm.dependencies/cpmpack.json
    {
      "name": "rapidyaml",
      "version": "0.7.2",
      "github_repository": "biojppm/rapidyaml"
    }

  • yaml
  • fileformat
re2
RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
2024-07-02
cpm.dependencies/cpmpack.json
    {
      "name": "re2",
      "version": "2024-07-02",
      "github_repository": "google/re2",
      "git_tag": "{VERSION}",
      "options": [
        "BUILD_SHARED_LIBS OFF"
      ]
    }

  • regex
reflect
C++20 Static Reflection library
1.2.4
cpm.dependencies/cpmpack.json
    {
      "name": "reflect",
      "version": "1.2.4",
      "github_repository": "boost-ext/reflect",
      "cmake_commands": [
        "add_library(reflect INTERFACE)",
        "target_include_directories(reflect SYSTEM INTERFACE ${CPM_CURRENT_SOURCE_DIR})",
        "target_compile_features(reflect INTERFACE cxx_std_20)",
        "add_library(reflect::reflect ALIAS reflect)"
      ]
    }

  • reflection
robin-hood-hashing
Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
3.11.5
cpm.dependencies/cpmpack.json
    {
      "name": "robin-hood-hashing",
      "version": "3.11.5",
      "github_repository": "martinus/robin-hood-hashing",
      "git_tag": "{VERSION}"
    }

  • containers
sdsl-lite
Succinct Data Structure Library 3.0
3.0.3
cpm.dependencies/cpmpack.json
    {
      "name": "sdsl-lite",
      "version": "3.0.3",
      "github_repository": "xxsds/sdsl-lite",
      "download_only": true,
      "cmake_commands": [
        "add_library(sdsl-lite INTERFACE)",
        "target_include_directories(sdsl-lite INTERFACE SYSTEM ${CPM_CURRENT_SOURCE_DIR}/include)",
        "add_library(sdsl-lite::sdsl-lite ALIAS sdsl-lite)"
      ],
      "git_tag_ignore": [
        "[Cc]++.*"
      ]
    }

  • bioinformatic
simde
Implementations of SIMD instruction sets for systems which don't natively support them.
0.8.2
cpm.dependencies/cpmpack.json
    {
      "name": "simde",
      "version": "0.8.2",
      "github_repository": "simd-everywhere/simde",
      "download_only": true,
      "cmake_commands": [
        "add_library (simde INTERFACE)",
        "add_library (simde::simde ALIAS simde)",
        "target_include_directories (simde INTERFACE $<BUILD_INTERFACE:${CPM_CURRENT_SOURCE_DIR}>)",
        "set_target_properties (simde PROPERTIES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:simde,INTERFACE_INCLUDE_DIRECTORIES>)"
      ]
    }

  • simd
simplyfile
C++ wrappers around unix filedescriptors
1.3
cpm.dependencies/cpmpack.json
    {
      "name": "simplyfile",
      "version": "1.3",
      "github_repository": "SGSSGene/simplyfile"
    }

  • wrapper
srell
SRELL (std::regex-like library) is a Unicode-aware regular expression template library for C++.
4.040
cpm.dependencies/cpmpack.json
    {
      "name": "srell",
      "version": "4.040",
      "url": "https://www.akenotsuki.com/misc/srell/releases/srell4_040.zip",
      "download_only": true,
      "cmake_commands": [
        "add_library(srell INTERFACE)",
        "target_include_directories(srell SYSTEM INTERFACE ${CPM_CURRENT_SOURCE_DIR})",
        "add_library(srell::srell ALIAS srell)"
      ]
    }

  • regex
tabulate
Table Maker for Modern C++
1.5
cpm.dependencies/cpmpack.json
    {
      "name": "tabulate",
      "version": "1.5",
      "github_repository": "p-ranav/tabulate"
    }

  • terminal
tomlplusplus
Header-only TOML config file parser and serializer for C++17.
3.4.0
cpm.dependencies/cpmpack.json
    {
      "name": "tomlplusplus",
      "version": "3.4.0",
      "github_repository": "marzer/tomlplusplus"
    }

  • configuration
unordered_dense
A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion
4.5.0
cpm.dependencies/cpmpack.json
    {
      "name": "unordered_dense",
      "version": "4.5.0",
      "github_repository": "martinus/unordered_dense"
    }

  • containers
variant-lite
variant lite - A C++17-like variant, a type-safe union for C++98, C++11 and later in a single-file header-only library
2.0.0
cpm.dependencies/cpmpack.json
    {
      "name": "variant-lite",
      "version": "2.0.0",
      "github_repository": "martinmoene/variant-lite"
    }

  • container
xsimd
C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, AVX512, NEON, SVE))
13.1.0
cpm.dependencies/cpmpack.json
    {
      "name": "xsimd",
      "version": "13.1.0",
      "github_repository": "xtensor-stack/xsimd",
      "git_tag": "{VERSION}"
    }

  • simd
xtl
The x template library
0.7.7
cpm.dependencies/cpmpack.json
    {
      "name": "xtl",
      "version": "0.7.7",
      "github_repository": "xtensor-stack/xtl",
      "git_tag": "{VERSION}"
    }

  • framework
xxHash
Extremely fast non-cryptographic hash algorithm
0.8.3
cpm.dependencies/cpmpack.json
    {
      "name": "xxHash",
      "version": "0.8.3",
      "github_repository": "Cyan4973/xxHash",
      "download_only": true,
      "cmake_commands": [
        "add_library(xxhash ${CPM_CURRENT_SOURCE_DIR}/xxhash.c ${CPM_CURRENT_SOURCE_DIR}/xxh_x86dispatch.c)",
        "target_include_directories(xxhash SYSTEM INTERFACE $<BUILD_INTERFACE:${CPM_CURRENT_SOURCE_DIR}>)"
      ],
      "git_tag_ignore": [
        "r[0-9]*"
      ]
    }

  • hashing
yaml-cpp
A YAML parser and emitter in C++
0.8.0
cpm.dependencies/cpmpack.json
    {
      "name": "yaml-cpp",
      "version": "0.8.0",
      "github_repository": "jbeder/yaml-cpp",
      "git_tag": "{VERSION}"
    }

  • yaml
  • fileformat
zlib
A Massively Spiffy Yet Delicately Unobtrusive Compression Library
1.3.1
cpm.dependencies/cpmpack.json
    {
      "name": "zlib",
      "version": "1.3.1",
      "url": "https://zlib.net/zlib-1.3.1.tar.gz",
      "options": [
        "ZLIB_BUILD_EXAMPLES OFF"
      ],
      "cmake_commands": [
        "add_library(zlib::zlib ALIAS zlib)"
      ]
    }

  • compression
zstd
Zstandard - Fast real-time compression algorithm
1.5.6
cpm.dependencies/cpmpack.json
    {
      "name": "zstd",
      "version": "1.5.6",
      "github_repository": "facebook/zstd",
      "options": [
        "ZSTD_BUILD_PROGRAMS FALSE",
        "ZSTD_BUILD_TESTS FALSE"
      ],
      "cmake_commands": [
        "add_subdirectory(${CPM_CURRENT_SOURCE_DIR}/build/cmake zstd)",
        "add_library(zstd::zstd ALIAS libzstd_static)"
      ],
      "git_tag_ignore": [
        "fuzz-corpora2"
      ]
    }

  • compression