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

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…