A source library xPack with files to help µOS++ builds
This project provides files to be included during builds.
The project is hosted on GitHub as micro-os-plus/build-helper-xpack.
This page is addressed to developers who plan to include this source library into their own projects.
For maintainer info, please see the README-MAINTAINER file.
As a source library xPack, the easiest way to add it to a project is via xpm, but it can also be used as any Git project, for example as a submodule.
For details please follow the instructions in the xPack install page.
Note: the package will be available from npmjs.com at a later date.
For now, it can be installed from GitHub:
cd my-project xpm init # Unless a package.json is already present xpm install github:micro-os-plus/build-helper-xpack
When ready, this package will be available as
cd my-project xpm init # Unless a package.json is already present xpm install @micro-os-plus/build-helper@latest ls -l xpacks/micro-os-plus-build-helper
If, for any reason, xpm is not available, the next recommended
solution is to link it as a Git submodule below an
cd my-project git init # Unless already a Git project mkdir -p xpacks git submodule add https://github.com/micro-os-plus/build-helper-xpack.git \ xpacks/micro-os-plus-build-helper
Apart from the unused
master branch, there are two active branches:
xpack, with the latest stable version (default)
xpack-develop, with the current development version
All development is done in the
xpack-develop branch, and contributions via
Pull Requests should be directed to this branch.
When new releases are published, the
xpack-develop branch is merged
The xPack Build Framework is neutral to the actual system build generator used.
Currently all µOS++ source libraries support both CMake and meson, and an internal xPack builder is planned.
Build & integration info
µOS++ sources should comply with C++ 20 and C 11
It should be possible to compile them with:
- GCC 8 or newer (https://gcc.gnu.org/projects/cxx-status.html)
- LLVM clang 7 or newer (https://clang.llvm.org/cxx_status.html)
The recommended versions are GCC 11, AppleClang 12.
Change log - incompatible changes
According to semver rules:
Major version X (X.y.z | X > 0) MUST be incremented if any backwards incompatible changes are introduced to the public API.
The incompatible changes, in reverse chronological order, are:
- v2.x: add
- v1.x: initial version