Skip to content

Command Line Usage

Isaac Shelton edited this page Sep 13, 2023 · 2 revisions

Command Line Usage

adept

To invoke adept from the command line, you can use the following:

adept [filename] [options]
  • The filename parameter is optional and will default to main.adept if it exists.

  • The options parameter is optional and will default to nothing. You can use one or more of the following options for it.

-h, --help

Shows help on adept usage and parameters.

-H, --help-advanced

Shows advanced help on adept usage and parameters.

-n

Redirects the output filename relative to the target file. The proper output extension is optional and will be supplied by the compiler if omitted.

-n <output>[.extension]
adept main.adept -n result
adept main.adept -n result.exe

See -o for redirecting output relative to working directory

See pragma project_name for equivalent pragma directive

-o

Redirects the output filename relative to the current working directory. The proper output extension is optional and will be supplied by the compiler if omitted.

-o <output>[.extension]
adept main.adept -o result
adept main.adept -o result.exe

-c

Compiles to object file.

adept -c main.adept

-e

Executes the resulting executable after compilation has finished.

adept main.adept -e

-p, --package (deprecated)

Creates a compressed version of a file. The generated .dep file will be slightly faster to load.

adept main.adept -p

This feature may be removed in the future.

See pragma package for equivalent pragma directive

-w

Disables all compiler warnings.

adept main.adept -w

-j

Preserves the generated object file.

adept main.adept -j

-O

Sets the target optimization level.

-O<level>
adept main.adept -O0
adept main.adept -O1
adept main.adept -O2
adept main.adept -O3

Levels range from 0 being no optimizations, to 3 being aggressive optimizations.

See pragma optimization for equivalent pragma directive

--version

Prints compiler version information

--no-typeinfo

Disables all runtime type information.

adept main.adept --no-typeinfo

See runtime type information for more information

See pragma no_typeinfo for equivalent pragma directive

--no-undef

Forces initialization of all undef values to standard default values.

adept main.adept --no-undef

See pragma no_undef for equivalent pragma directive

--unsafe-meta

Disables the requirement for transcendent variables to be defined before being used.

adept main.adept --unsafe-meta

See pragma unsafe_meta for equivalent pragma directive

--unsafe-new

Disables the automatic zero-initialization of memory allocated with new.

adept main.adept --unsafe-new

See pragma unsafe_new for equivalent pragma directive

--null-checks

Enables runtime null pointer checks.

adept main.adept --null-checks

Whenever a null pointer is dereferenced, used, or accessed, a runtime error will be triggered.

See pragma null_checks for equivalent pragma directive

--fussy

Enables typically insignificant warnings

adept --fussy

--entry

Sets the entry point of the program

--entry <function name>
adept --entry myFunction main.adept

See pragma entry_point for equivalent pragma directive

--PIC

Forces PIC relocation model.

adept main.adept --PIC

--no-PIC

Forbids PIC relocation model.

adept main.adept --no-PIC

--libm

Forces linking against the libc math library.

adept main.adept --libm

This is equivalent to -lm when linking on linux.

See pragma libm for equivalent pragma directive

--ignore-*

Ignores specific compiler errors and warnings.

adept main.adept --ignore-all # Enables all ignore options
adept main.adept --ignore-deprecation # Ignore deprecation warnings
adept main.adept --ignore-early-return # Ignore statements after 'return' warning
adept main.adept --ignore-obsolete # Ignore warnings from using obsolete features
adept main.adept --ignore-partial-support # Ignore partial compiler support warning
adept main.adept --ignore-unrecognized-directives # Ignore "bad" pragma directives
adept main.adept --ignore-unused # Ignore used variables

See pragma ignore_* for equivalent pragma directives

-I

Adds a directory to import search path. Whenever files are imported afterwards, this directory will be searched.

-I<PATH>
adept -I"~/common_adept_files/"

See import search path for more information.

See pragma search_path for equivalent pragma directive

-L

Add directory to native library search path.

-L<PATH>
adept -L"~/lib/"

-l

Links against native library.

-l<NAME>
adept -lhello

This is equivalent to doing the following inside a source file:

foreign "hello" library

--std=

Sets the standard library folder

--std=<folder inside global import folder>
adept --std=2.3

See pragma default_stdlib for similar pragma directive

--windowed

Don't open console with executable (only applies to Windows)

adept --windowed

-Werror

Turns all warnings into errors

adept -Werror

--short-warnings

Disables code fragments for warnings

adept --short-warnings

See pragma short_warnings for equivalent pragma directive

--windows

Cross compile to Windows (Requires cross-compilation extension, only available for MacOS to Windows)

adept --windows

--macos

Cross compile to MacOS (Only results in object file, linking must be done manually)

adept --macos
Clone this wiki locally