Skip to main content

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

Source Code