Reviewed-on: http://192.168.1.227:3000/sfrembling/pallet/pulls/31 Co-authored-by: Shea Frembling <sfrembling@gmail.com> Co-committed-by: Shea Frembling <sfrembling@gmail.com>
Pallet
Pallet is a project manager and build system for C inspired by Rust's Cargo.
This is a toy project not meant to be taken very seriously.
Requirements for Use
GCC is recommended as the compiler installed for Pallet projects.
You can define a different gcc compatible compiler instead per-project by editing Pallet.toml:
name = "my-app"
default_build = "debug"
compiler = "clang"
[[build]]
name = "debug"
args = [
"-g",
"-O0",
]
[[build]]
name = "release"
args = [
"-DNDEBUG",
"-O3",
]
Usage
pallet new <project>: initializes a new project atprojectpallet init: initializes a new project in the current directorypallet run: runs the local projectpallet build: builds the local projectpallet clean: cleans the local project's build artifacts
Configuring
You can configure options by editing Pallet.toml
Options
name: the name of the output executabledefault_build: the name of the default build profile to use
Additionally, one can define one or more build profiles with the following parameters:
name: the name of the build profileargs: the args to supply to gcc when using this profile
For example:
name = "my-app"
default_build = "debug"
[[build]]
name = "debug"
args = [
"-g",
"-O0",
]
[[build]]
name = "release"
args = [
"-DNDEBUG",
"-O3",
]
Creating Changelogs
Use the following command to create a changelog:
git log --oneline (git describe --tags --abbrev=0)..HEAD | sed 's/^/- /' | xclip -selection clipboard
Description