C
Location: examples/c/
C uses preprocessor defines (-D) to inject values:
examples/c/main.c
#include <stdio.h>
// VERSION will be set by the compiler during build
#ifndef VERSION
#define VERSION "0.0.0"
#endif
int main() {
printf("Sample C Application\n");
printf("Version: %s\n", VERSION);
return 0;
}
examples/c/Makefile (excerpt)
build:
VERSION=$$(versionator version); \
gcc -DVERSION="\"$$VERSION\"" -o sample-app main.c
Run it
$ cd examples/c && just run
Getting version from versionator...
Building sample application with version: 0.0.16
Build completed: sample-app
./sample-app
Sample C Application
Version: 0.0.16