Title here
Summary here
Golem is a cross-platform build system for C/C++ projects.
It can build projects like CMake does, or manage dependencies like Conan does. It only requires Python and Git to work.
Golem’s main goal is to remove the noise in the project file, and favor the developers intents rather than the technical details when unneeded.
Here is how a golemfile.py looks like:
def configure(project):
project.dependency(name='json',
repository='https://github.com/nlohmann/json.git',
version='^3.0.0',
shallow=True)
project.library(name='mylib',
includes=['mylib/include'],
source=['mylib/src'],
defines=['FOO_API_EXPORT'])
project.export(name='mylib',
includes=['mylib/include'],
defines=['FOO_API_IMPORT'])
project.program(name='hello',
source=['src'],
use=['mylib'],
deps=['json'])But alternatively, you can also define an equivalent golemfile.json.
Have a look at the full example in examples/minimal.
To learn more about how Golem started, read Why another build system?.