![]() |
lizardbyte-common latest
Common helper scripts, repository tooling, and C++ helpers for LizardByte projects.
|
This repository contains shared helper scripts, repository-level tooling, and C++ helpers used across LizardByte projects.
The current tooling includes Python-managed helpers, reusable GitHub workflows, and a small C++ helper library:
scripts/update_clang_format.py runs clang-format across supported source directories.scripts/localize.py updates gettext and Babel locale files..github/workflows/localize.yml runs the locale helper from GitHub Actions and opens localization update pull requests.lizardbyte::common provides shared C++ helpers, starting with environment variable manipulation.lizardbyte::test_support provides shared GoogleTest fixtures and test macros for LizardByte C++ projects.Install uv and sync the locked tool environment:
Run the clang-format helper:
Run gettext extraction:
Initialize submodules before configuring the C++ targets:
Configure, build, and test the C++ helpers with CMake:
The C++ library exports the lizardbyte::common target and public headers under lizardbyte/common/.
The optional test support target is available when BUILD_TESTS=ON or LIZARDBYTE_COMMON_BUILD_TEST_SUPPORT=ON.
Build the Doxygen documentation through the shared doxyconfig submodule:
Projects with a pyproject.toml can use this repository as a local path dependency. For a submodule at third-party/lizardbyte-common, add the dependency and source to the consuming project's pyproject.toml:
Then sync and run the installed commands from the consuming project root:
Projects without a pyproject.toml can still create a .venv in the consuming project root and install the local checkout into it:
Then run the commands from the consuming project root:
CMake projects can consume the C++ helpers from the same submodule:
To consume the shared GoogleTest support helpers from a project that already builds tests, link the test binary to lizardbyte::test_support:
Reusable GitHub workflows live under .github/workflows/.
localize.yml extracts gettext strings with the shared locale helper and can open a localization update pull request.Run the pytest suite:
Run the C++ GoogleTest suite: