Skip to content
@externpro

externpro

externpro 🧰🔧

A CMake build platform and dependency provider with reusable CI pipelines. Reproducible builds. Reusable dependencies. Consistent CI. Fewer “works on my machine” surprises.

CMake CI Supply%20Chain Containers xpbuild Release License

Why externpro? 🎯

externpro standardizes toolchains, dependencies, and CI workflows across developers, machines, and repositories—so teams ship faster with less drift and duplication.

Main repos 📌

  1. externpro (core) 🧰 CMake build platform + dependency provider model + reusable workflows (xpinit, xpupdate, xpbuild, xptag, xprelease).

  2. buildpro (Linux toolchain images) 🐳 Linux Docker build images used by externpro-enabled repos to keep compilers/tools/system deps consistent.

  3. tutorial (adoption walkthrough) 🎓 Vendor externpro as a .devcontainer submodule, run xpInit, follow xpTag → xpBuild → xpRelease, and consume externpro-produced deps via find_package().

Start here 🚀

  1. Add externpro as a submodule to your project — the tutorial walks through the exact steps
  2. Run a CI workflow to intialize things
  3. Make small modifications to existing CMake (or introduce CMake)
  4. Use other org repos as reference implementations (see the externpro projects table: https://github.com/externpro/externpro/blob/main/cmake/README.md)
  5. Start building and delivering your projects on multiple OSes, architectures, and compilers - creating packages that can be consumed by other projects quickly and consistently!
  6. Read the core overview in externpro
  7. Review the foundational patterns in buildpro

What you get ✅

Capability What it means
🏗️ Build platform A consistent build + toolchain baseline across Linux/macOS/Windows, x86_64/arm64, and multiple compiler toolchains (Linux buildpro containers; macOS/Windows GitHub-hosted runners)
📦 Dependency provider Dependencies are provided to your build as ready-to-use packages/targets, so consuming projects can just find_package() and link (rather than each repo reinventing fetch/build/patch)
🔁 Reusable CI Standardized init/update/build/test/tag/release pipelines with supply chain outputs (SBOM/attestation)

Repos in this org 🧪

Most repositories in the organization act as reference implementations—examples of integrating externpro and using the workflow as intended. See the externpro projects table: https://github.com/externpro/externpro/blob/main/cmake/README.md

Pinned Loading

  1. externpro externpro Public

    A CMake build platform and dependency provider with reusable CI (continuous integration) pipelines.

    CMake 3 7

  2. buildpro buildpro Public

    Linux Docker build images for projects that use externpro.

    C++ 2 3

  3. tutorial tutorial Public

    externpro tutorial

    CMake 2

Repositories

Showing 10 of 91 repositories
  • Threads Public

    wrapper for Threads::Threads

    externpro/Threads’s past year of commit activity
    CMake 0 LGPL-2.1 0 0 0 Updated Apr 14, 2026
  • .github Public
    externpro/.github’s past year of commit activity
    0 MIT 0 0 0 Updated Apr 14, 2026
  • buildpro Public

    Linux Docker build images for projects that use externpro.

    externpro/buildpro’s past year of commit activity
    C++ 2 MIT 3 0 0 Updated Apr 11, 2026
  • externpro Public

    A CMake build platform and dependency provider with reusable CI (continuous integration) pipelines.

    externpro/externpro’s past year of commit activity
    CMake 3 MIT 7 75 0 Updated Apr 11, 2026
  • spdlog Public Forked from gabime/spdlog

    Fast C++ logging library.

    externpro/spdlog’s past year of commit activity
    C++ 0 5,233 0 0 Updated Apr 11, 2026
  • fmt Public Forked from fmtlib/fmt

    A modern formatting library

    externpro/fmt’s past year of commit activity
    C++ 0 2,975 0 0 Updated Apr 10, 2026
  • FFmpeg Public Forked from FFmpeg/FFmpeg

    mirror of git://source.ffmpeg.org/ffmpeg.git

    externpro/FFmpeg’s past year of commit activity
    C 0 14,036 0 0 Updated Apr 4, 2026
  • libiconv Public
    externpro/libiconv’s past year of commit activity
    C 0 LGPL-2.1 1 0 0 Updated Apr 4, 2026
  • externpro/spatialite-tools’s past year of commit activity
    C 0 GPL-3.0 1 0 0 Updated Apr 4, 2026
  • patch Public
    externpro/patch’s past year of commit activity
    CMake 0 GPL-3.0 1 0 0 Updated Apr 4, 2026

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…