This is a very simple example that just demonstrates how to use
CBuild for buildsystem.
It is very simple - cbuild_cmd_run
is used to call command built into cbuild_cmd_t
as cmd variable. By default, that function also waits for
command to finish before returning, so you can treat that code as normal
synchronous code.
Code
Directory structure:
examples/build/1.basic
├── src
│ └── main.c
├── cbuild.c
└── cbuild.h
main.c - Your app’s source code.
#include "stdio.h"
int main(int argc, char** argv) {
printf("Hello, world!\n");
return 0;
}
cbuild.c - Your buildscript.
#define CBUILD_IMPLEMENTATION
#define CBUILD_LOG_MIN_LEVEL CBUILD_LOG_TRACE
#include "cbuild.h"
int main(int argc, char** argv) {
cbuild_selfrebuild(argc, argv);
cbuild_cmd_t cmd = {0};
cbuild_cmd_append_many(&cmd, CC, "-o", "app.run", "src/main.c");
if (!cbuild_cmd_run(&cmd)) return 1;
cbuild_cmd_clear(&cmd);
return 0;
}
How to run
cc -o cbuild.run cbuild.c
./cbuild.run
./app.run