Heavily inspired by: https://github.com/sealemar/cef-dockerized, https://magpcss.org/ceforum/viewtopic.php?f=7&t=17776
Small Docker-based wrapper for syncing, building, and packaging Chromium Embedded Framework (CEF) on Linux, with support for custom local patches.
Important
Make sure to read the official CEF documentation first: https://chromiumembedded.github.io/cef/master_build_quick_start.html https://chromiumembedded.github.io/cef/branches_and_building
Note
Project was last tested with CEF 7778 (x64, arm64 Linux). Newer versions may require tweaks to the build process.
Before running, tweak config.env to your liking.
Usage:
./run-compose.sh <command>
Commands:
all sync -> patch -> gen -> build debug -> build release -> package
sync Download/update CEF + Chromium source
patch Apply custom CEF and Chromium patches from patches/cef/*.patch and patches/chromium/*.patch respectively
gen Generate Ninja files (cef_create_projects.sh)
build Build CEF. Pass one or more args: release, debug
package Package CEF distribution, optionally accepts passthrough args to make_distrib.py (e.g. --allow-partial)
clean Remove work/download (keeps caches/artifacts)
shell Open an interactive shell in the builder container
Warning
Do not run docker compose or the scripts in steps/* directly. Use ./run-compose.sh instead, which populates the required environment variables.
This project optionally supports building with custom local patches.
Put CEF patches in:
patches/cef/*.patch
Put Chromium patches in:
patches/chromium/*.patch
Patches are applied with git apply. Already-applied patches are skipped.