Build Commands
When starting out, with C3 it's natural to use run
to try things out. For larger projects, the built-in build system is instead recommended.
By default the compiler is compiling stand-alone files to output an executable binary.
c3c <file1> <file2> <file3>
run
The run command works same as compilation, but also immediately runs the resulting executable.
c3c run <file1> <file2> <file3>
Common additional parameters
Additional parameters:
- --lib <path>
add a library to search.
- --output <path>
override the output directory.
- --path <path>
execute as if standing at
init
c3c init <project_name> [optional path]
.
Create a new project structure in the current directory.
Use the --template
to select a template. The following are built in:
default
- the default template, produces an executable.lib
- template for producing a library.staticlib
- template for producing a static library.
It is also possible to give the path to a custom template.
Additional parameters:
- --template <path>
indicate an alternative template to use.
c3c init hello_world
will create the following structure:
$ tree .
.
└── hello_world
├── LICENSE
├── README.md
├── build
├── docs
│ ├── about.md
│ └── src
│ └── index.html
├── lib
├── project.c3p
├── resources
├── src
│ └── hello_world
│ └── main.c3
└── test
└── hello_world
build
build [target]
Build the project in the current path. It doesn't matter where in the project structure you are.
The built in templates define two targets: debug
(which is the default) and release
.
clean
clean
build-run
build-run [target]
Build the target (if needed) and run the executable.
clean-run
clean-run [target]
Clean, build and run the target.
dist
dist [target]
Clean, build and package the target.
docs
docs [target]
Rebuilds the documentation.
bench
bench [target]
Runs benchmarks on a target.