BUILDER_CPP
A simple build tool for building C and C++ applications
The tool is still in development. Do not use for production code.
Installation
The tool requires cargo for installation
cargo install builder_cpp
For subcommands run with -h flag
Features
- Create new project
- Multithreaded
- Can generate compile_commands.json
- Can generate .vscode/c_cpp_properties.json
- Auto add project libraries to other targets
- Get libraries as packages from github
Limitations
- Only supports clang and gcc compilers
Usage
Write a config_win32.toml for windows and config_linux.toml for linux
To create a new project
builder_cpp init <project-name> [--c|--cpp]
For help
builder_cpp --help
The help command will show you the following
)
Sample file with a library and an executable
[]
= "g++"
[[]]
= "libengine"
= "./Nomu_Engine/Engine/src/"
= "./Nomu_Engine/Engine/src/include"
= "dll"
= "-g -Wall -Wunused `pkg-config --cflags freetype2` -std=c++17"
= "-lm -lglew32 -lglfw3 -lopengl32 -static-libstdc++ `pkg-config --libs freetype2`"
[[]]
= "main"
= "./Nomu_Engine/Game/src/"
= "./Nomu_Engine/Game/src"
= "exe"
= "-g -Wall"
= "-static-libstdc++"
= ["libengine"]
Sample file with an added package and an executable
[]
= "g++"
= ["Dr-42/Nomu_Engine, master"]
[[]]
= "main"
= "./src"
= "./src"
= "exe"
= "-g -Wall "
= ""
= ["libengine"]
Optional keys in toml are packages in build and deps in targets
To see a real project being built with the tool Nomu_Engine Heim_Engine Imeye
And lots more.