cee is a highly customizable project manager primarily for C/C++, however it can easily by adapted to other programming languages through the config file.
Usage: cee <COMMAND>
Commands:
new Creates a new cee project
init Initializes a cee project in the current directory
build Build the current project
run Compile & Run the current project
clean Purge all build files
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
| Key | Description |
|---|---|
| [project] | |
| name | The name of the project |
| version | The version of the project |
| [build] | |
| compiler | The compiler (or interpreter) to invoke on build |
| debug_flags | The flags to pass to {compiler} when building in debug mode |
| release_flags | The flags to pass to {compiler} when building in release mode |
| source_files | A list of source files to compile |
| bin_directory | The directory to place build files (leave empty for current directory) |
| Key | Description |
|---|---|
| [build] | |
| command_format | The format of the build command (see #command_format options) |
| finish_on_build | A boolean representing whether or not to finish after building, even if the command was run (useful for interpreted languages) |
All of the required cee.toml are valid command_format options, with the exception of debug_flags and release_flags just being replaced by [flags]
There is also an added [win_exe_extension] which is encouraged to be added where there would be a ".exe" extension, on non-windows systems this option is simply ignored, however on windows it will be replaced with the string ".exe"
The default command_format is:
[compiler] [source_files] [flags] -o [bin_directory]/[project_name][win_exe_extension]
C project
[project]
name = "my_c_project"
version = "0.1.0"
[build]
compiler = "cc"
debug_flags = "-Wall -Wpedantic"
release_flags = "-Wall -Wpedantic -O2"
source_files = "src/main.c"
bin_directory = "bin"
Python project
[project]
name = "my_python_project"
version = "0.1.0"
[build]
compiler = "python3"
debug_flags = ""
release_flags = ""
source_files = "main.py"
bin_directory = ""
command_format = "[compiler] [source_files]"
finish_on_build = true