Releases: CACI-International/cpp-toolchain
v2025.11.14
Bazel
Add to your MODULE.bazel file:
bazel_dep(name = "portable_cc_toolchain", version = "2025.11.14")
toolchain = use_extension("@portable_cc_toolchain//:extensions.bzl", "toolchain")CMake
Add to your CMakeLists.txt file (before project):
FetchContent_Declare(
PortableCcToolchain
URL "https://github.com/CACI-International/cpp-toolchain/releases/download/v2025.11.14/cmake_portable_cc_toolchain-v2025.11.14.tar.gz"
SOURCE_DIR ${CMAKE_BINARY_DIR}/portable_cc_toolchain
URL_HASH SHA256=06be92ae16d38f3530b1db260ca2cb5e5c21a1958522fc82c9dd86c49c272b6d
)
FetchContent_MakeAvailable(PortableCcToolchain)To enable the toolchain, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/toolchain.cmake.
For cross-compiling, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/<target>.cmake (e.g. aarch64-unknown-linux-gnu.cmake)
Component Versions
These integrations use the following components:
| Component | Version |
|---|---|
| LLVM (clang) | 20.1.8 |
| libstdc++ | 15.2.1 |
| glibc | 2.17 |
| Linux kernel headers | 3.10.108 |
What's Changed
- Call compilers directly rather than use wrapper scripts by @calebzulawski in #6
Full Changelog: v2025.10.31...v2025.11.14
v2025.10.31
Bazel
Add to your MODULE.bazel file:
bazel_dep(name = "portable_cc_toolchain", version = "2025.10.31")
toolchain = use_extension("@portable_cc_toolchain//:extensions.bzl", "toolchain")CMake
Add to your CMakeLists.txt file (before project):
FetchContent_Declare(
PortableCcToolchain
URL "https://github.com/CACI-International/cpp-toolchain/releases/download/v2025.10.31/cmake_portable_cc_toolchain-v2025.10.31.tar.gz"
SOURCE_DIR ${CMAKE_BINARY_DIR}/portable_cc_toolchain
URL_HASH SHA256=e7bb4f142fc10b49bcb42f9e5ad3b2551e355224ad35f391d54c828603df932a
)
FetchContent_MakeAvailable(PortableCcToolchain)To enable the toolchain, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/toolchain.cmake.
For cross-compiling, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/<target>.cmake (e.g. aarch64-unknown-linux-gnu.cmake)
Component Versions
These integrations use the following components:
| Component | Version |
|---|---|
| LLVM (clang) | 20.1.8 |
| libstdc++ | 15.2.1 |
| glibc | 2.17 |
| Linux kernel headers | 3.10.108 |
What's Changed
- Expose hide_symbols feature by @calebzulawski in #5
Full Changelog: v2025.09.29...v2025.10.31
v2025.09.29
Bazel
Add to your MODULE.bazel file:
bazel_dep(name = "portable_cc_toolchain", version = "2025.09.29")
toolchain = use_extension("@portable_cc_toolchain//:extensions.bzl", "toolchain")CMake
Add to your CMakeLists.txt file (before project):
FetchContent_Declare(
PortableCcToolchain
URL "https://github.com/CACI-International/cpp-toolchain/releases/download/v2025.09.29/cmake_portable_cc_toolchain-v2025.09.29.tar.gz"
SOURCE_DIR ${CMAKE_BINARY_DIR}/portable_cc_toolchain
URL_HASH SHA256=550580499333dea8a7ff5dad948da2874b7580f4625879c0d6a36cda5ebadfca
)
FetchContent_MakeAvailable(PortableCcToolchain)To enable the toolchain, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/toolchain.cmake.
For cross-compiling, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/<target>.cmake (e.g. aarch64-unknown-linux-gnu.cmake)
Component Versions
These integrations use the following components:
| Component | Version |
|---|---|
| LLVM (clang) | 20.1.8 |
| libstdc++ | 15.2.1 |
| glibc | 2.17 |
| Linux kernel headers | 3.10.108 |
Full Changelog: v2025.09.15...v2025.09.29
v2025.09.15
Bazel
Add to your MODULE.bazel file:
bazel_dep(name = "portable_cc_toolchain", version = "2025.09.15")
toolchain = use_extension("@portable_cc_toolchain//:extensions.bzl", "toolchain")CMake
Add to your CMakeLists.txt file (before project):
FetchContent_Declare(
PortableCcToolchain
URL "https://github.com/CACI-International/cpp-toolchain/releases/download/v2025.09.15/cmake_portable_cc_toolchain-v2025.09.15.tar.gz"
SOURCE_DIR ${CMAKE_BINARY_DIR}/portable_cc_toolchain
URL_HASH SHA256=ddbb4e67cdccd4de009f465de9cf86f5ca65d10ca71f213c14e7f19a84de10f4
)
FetchContent_MakeAvailable(PortableCcToolchain)To enable the toolchain, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/toolchain.cmake.
For cross-compiling, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/<target>.cmake (e.g. aarch64-unknown-linux-gnu.cmake)
Component Versions
These integrations use the following components:
| Component | Version |
|---|---|
| LLVM (clang) | 20.1.8 |
| libstdc++ | 15.2.1 |
| glibc | 2.17 |
| Linux kernel headers | 3.10.108 |
What's Changed
- Use absolute directory path for Xcode by @calebzulawski in #4
New Contributors
- @calebzulawski made their first contribution in #4
Full Changelog: v2025.08.06...v2025.09.15
v2025.08.06
Bazel
Add to your MODULE.bazel file:
bazel_dep(name = "portable_cc_toolchain", version = "2025.08.06")
toolchain = use_extension("@portable_cc_toolchain//:extensions.bzl", "toolchain")CMake
Add to your CMakeLists.txt file (before project):
FetchContent_Declare(
PortableCcToolchain
URL "https://github.com/CACI-International/cpp-toolchain/releases/download/v2025.08.06/cmake_portable_cc_toolchain-v2025.08.06.tar.gz"
SOURCE_DIR ${CMAKE_BINARY_DIR}/portable_cc_toolchain
URL_HASH SHA256=7bf9f2ec95a6622d7464c2f62f37d11c748c42cf6178f7f0f03dc22f6ec02940
)
FetchContent_MakeAvailable(PortableCcToolchain)To enable the toolchain, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/toolchain.cmake.
For cross-compiling, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/<target>.cmake (e.g. aarch64-unknown-linux-gnu.cmake)
Component Versions
These integrations use the following components:
| Component | Version |
|---|---|
| LLVM (clang) | 20.1.8 |
| libstdc++ | 15.2.1 |
| glibc | 2.17 |
| Linux kernel headers | 3.10.108 |
Full Changelog: v2025.07.28...v2025.08.06
toolchain-2025.08.05
This is a toolchain release.
If you are looking for the Bazel or CMake integrations, please look for one of those releases instead.
This release contains the following:
- LLVM compiler toolchain
- Linux sysroots
- Linux compiler-rt (for cross-compiling sanitizers from non-Linux hosts)
This release contains the following components:
| Component | Version |
|---|---|
| LLVM (clang) | 20.1.8 |
| libstdc++ | 15.2.1 |
| glibc | 2.17 |
| Linux kernel headers | 3.10.108 |
v2025.07.28
Bazel
Add to your MODULE.bazel file:
bazel_dep(name = "portable_cc_toolchain", version = "2025.07.28")
toolchain = use_extension("@portable_cc_toolchain//:extensions.bzl", "toolchain")CMake
Add to your CMakeLists.txt file (before project):
FetchContent_Declare(
PortableCcToolchain
URL "https://github.com/CACI-International/cpp-toolchain/releases/download/v2025.07.28/cmake_portable_cc_toolchain-v2025.07.28.tar.gz"
SOURCE_DIR ${CMAKE_BINARY_DIR}/portable_cc_toolchain
URL_HASH SHA256=7403d323d6cea0f32773f259ac9a73a2379e5f9d9bc55dbca83cd5ebde975ee1
)
FetchContent_MakeAvailable(PortableCcToolchain)To enable the toolchain, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/toolchain.cmake.
For cross-compiling, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/<target>.cmake (e.g. aarch64-unknown-linux-gnu.cmake)
Component Versions
These integrations use the following components:
| Component | Version |
|---|---|
| LLVM (clang) | 20.1.8 |
| libstdc++ | 15.2.1 |
| glibc | 2.17 |
| Linux kernel headers | 3.10.108 |
Full Changelog: v2025.07.22...v2025.07.28
toolchain-2025.07.27
This is a toolchain release.
If you are looking for the Bazel or CMake integrations, please look for one of those releases instead.
This release contains the following:
- LLVM compiler toolchain
- Linux sysroots
- Linux compiler-rt (for cross-compiling sanitizers from non-Linux hosts)
This release contains the following components:
| Component | Version |
|---|---|
| LLVM (clang) | 20.1.8 |
| libstdc++ | 15.2.1 |
| glibc | 2.17 |
| Linux kernel headers | 3.10.108 |
v2025.07.22
Bazel
Add to your MODULE.bazel file:
bazel_dep(name = "portable_cc_toolchain", version = "2025.07.22")
toolchain = use_extension("@portable_cc_toolchain//:extensions.bzl", "toolchain")CMake
Add to your CMakeLists.txt file (before project):
FetchContent_Declare(
PortableCcToolchain
URL "https://github.com/CACI-International/cpp-toolchain/releases/download/v2025.07.22/cmake_portable_cc_toolchain-v2025.07.22.tar.gz"
SOURCE_DIR ${CMAKE_BINARY_DIR}/portable_cc_toolchain
URL_HASH SHA256=b78f2beecaac933a74bf9e2b879c0c5337934dcf6a040a8f073a04e0cdac8d3b
)
FetchContent_MakeAvailable(PortableCcToolchain)To enable the toolchain, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/toolchain.cmake.
For cross-compiling, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/<target>.cmake (e.g. aarch64-unknown-linux-gnu.cmake)
Component Versions
These integrations use the following components:
| Component | Version |
|---|---|
| LLVM (clang) | 20.1.8 |
| libstdc++ | 15.2.1 |
| glibc | 2.17 |
| Linux kernel headers | 3.10.108 |
Full Changelog: v2025.07.21...v2025.07.22
v2025.07.21
Bazel
Add to your MODULE.bazel file:
bazel_dep(name = "portable_cc_toolchain", version = "2025.07.21")
toolchain = use_extension("@portable_cc_toolchain//:extensions.bzl", "toolchain")CMake
Add to your CMakeLists.txt file (before project):
FetchContent_Declare(
PortableCcToolchain
URL "https://github.com/CACI-International/cpp-toolchain/releases/download/v2025.07.21/cmake_portable_cc_toolchain-v2025.07.21.tar.gz"
SOURCE_DIR ${CMAKE_BINARY_DIR}/portable_cc_toolchain
URL_HASH SHA256=3df52a4bdfc43b46a07c98f836f69594b725c6649d47ec679d288abd993a28f6
)
FetchContent_MakeAvailable(PortableCcToolchain)To enable the toolchain, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/toolchain.cmake.
For cross-compiling, set CMAKE_TOOLCHAIN_FILE to portable_cc_toolchain/<target>.cmake (e.g. aarch64-unknown-linux-gnu.cmake)
Component Versions
These integrations use the following components:
| Component | Version |
|---|---|
| LLVM (clang) | 20.1.8 |
| libstdc++ | 15.2.1 |
| glibc | 2.17 |
| Linux kernel headers | 3.10.108 |
Full Changelog: v2025.07.19...v2025.07.21