oc

Otava C++ compiler.

Usage: oc [options] { FILE.project | FILE.solution }

Options:

Long option Short option Description
--help -h Print help and exit.
--verbose -v Be verbose.
--config=(debug|release|trace|CONFIG) -c=(debug|release|trace|CONFIG) Set build configuration to
debug, release, trace, or user defined configuration CONFIG. Default configuration is debug.
--opt=OPTIMIZATION_LEVEL -O=OPTIMIZATION_LEVEL Set release mode optimization level to OPTIMIZATION_LEVEL (0-3).
Default level for release configuration is 2.
--define=SYMBOL -d=SYMBOL Define build symbol SYMBOL.
--rebuild -r Rebuild project or solution.
--all -a Build also all projects the given project depends on.
--debug-parse -p Print source parsing log to "parse.log" file located in the current working directory.
--xml -x Write ASTs as XML.
--seed -s Initialize uuid seed from hash code of the file path of each project.
--symbol-xml -y Write symbols as XML.
--debug -b Set compile debugging on.
--out=FILENAME -o=FILENAME Write compile debug output to file FILENAME.

Examples:

. . .
Command Description
oc hello.project Compile hello.project using debug configuration.
oc -c=release -O=1 hello.project Compile hello.project using release configuration with optimization level 1.
oc -v soul.solution Build all projects in solution soul.solution. Generate verbose output.
oc -d=NOWARN soul.solution Build all projects in solution soul.solution with NOWARN symbol defined. This does not generate any warning messages.
oc -c=memdbg hello.project Compile the hello.project using memdbg configuration.
When runnig bin/memdbg/hello.exe this will print memory leaks to standard output after hello.exe has been run.
oc -a xml_parser.project Compile xml_parser.project and all projects it depends on.
oc -r xml_parser.project Rebuild only xml_parser.project.
oc -ra xml_parser.project Rebuild xml_parser.project and all projects it depends on.