Skip to content

v0.1.0 — First stable release

Choose a tag to compare

@rayyan0x rayyan0x released this 12 Oct 16:31
· 70 commits to main since this release

skipbuild v0.1.0 🚀

First stable release of skipbuild — a zero-setup, cross-platform C++ build cache designed to make rebuilds near-instant. Eliminate agonizing compilation bottlenecks across Windows, Linux, and macOS.

✨ Features

  • Deterministic Cache Keys: Hashing infrastructure monitors source text stream, include graphs, flags, native compiler binary footprints, and runtime environment layers via SHA-256 blocks.
  • Native MSVC Symbol Support: Full native preservation maps for /Zi PDB debug streams, .idb dependency nodes, /Fo outputs, /I paths, /std:, /O, and /W execution flags.
  • GCC/Clang Compatibility: Built-in intercept matrices tracking -std=, -O, -g, -I, -fPIC, and -gsplit-dwarf (.dwo) options.
  • High-Speed Payload Compression: Core storage architecture compresses objects utilizing integrated Zstd level 3 blocks, delivering an average ~70% reduction in disk storage space.
  • Transparent Fail-Safe Resilience: Built with error isolation layers. Cache processing issues or storage failures transparently fall back to native compiler execution so your pipeline never breaks.
  • Tiered Configuration Resolving: Precedence runs sequentially: CLI Options ──► Environment Variables (BUILDCACHE_*) ──► .buildcache.conf files.
  • Integrated Cache Diagnostics: Manage pipeline optimization details cleanly via --stats, --clear-stats, and --clean utility actions.

🖥️ Platform Support (Tested & Verified)

Operating System Target Compiler Verified Toolchain Version
Windows MSVC 19.51 (Visual Studio 2022 Build Tools)
Linux GCC 13.3 (Ubuntu 24.04 LTS Runtime)
macOS Apple Clang 21 (macOS 16 Environment)

🚀 Quick Start & Verification

Run these commands in your console terminal framework (or Developer PowerShell for VS 2022 on Windows):

# Clone and build skipbuild core
git clone https://github.com/rayyan0x/skipbuild.git
cd skipbuild
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallel

# Create a small dummy validation file
echo '#include <stdio.h>' > hello.cpp
echo 'int main() { printf("Hello, skipbuild!\n"); return 0; }' >> hello.cpp

# Cold run (Cache MISS)
build\Release\skipbuild.exe -- cl.exe /c hello.cpp /Fohello.obj

# Hot run (Cache HIT)
build\Release\skipbuild.exe -- cl.exe /c hello.cpp /Fohello.obj

📦 Installation

Method A: Automated One-Line Install Script (Recommended)

Linux & macOS (Bash/Zsh):

curl -fsSL https://raw.githubusercontent.com/rayyan0x/skipbuild/main/scripts/install.sh | bash

Windows (PowerShell 5.1+):

irm https://raw.githubusercontent.com/rayyan0x/skipbuild/main/scripts/install.ps1 | iex

Method B: Traditional Compilation From Source

git clone https://github.com/rayyan0x/skipbuild.git
cd skipbuild
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallel

🔧 Build System Integration

Build Toolchain Direct Configuration Mapping
CMake (Global Launcher) set(CMAKE_CXX_COMPILER_LAUNCHER "skipbuild")
CMake (Target Isolated) set_target_properties(my_target PROPERTIES CXX_COMPILER_LAUNCHER "skipbuild")
Ninja (build.ninja) rule cxx: command = skipbuild -- g++ -c $in -o $out $flags
GNU Make (Makefile) CXX := skipbuild g++

📊 Performance Benchmarks

Evaluated on an isolation test pipeline composed of 50 source targets interacting with 10 core include header tracks, tracked under -O2 -std=c++20 parameters.

  • Cold Build Time: 22.0 seconds (Baseline)
  • Hot Rebuild Time: 0.2 seconds 🚀
  • Net Performance Acceleration: ~110x Faster execution loops

📥 Asset Directory Fingerprints

Pre-compiled executable assets are attached below for instant zero-compilation use. Verify your downloaded binaries using the official cryptographic verification fingerprints:

  • skipbuild-windows-x64.exe — Standalone Windows x64 processing environment.
  • skipbuild-linux-x64 — Standalone Linux x64 executable container block.
  • skipbuild-macos-x64 — Standalone native macOS x64 architecture runner.
  • SHA256SUMS — Secure validation signatures tracking asset bundle verification.