- debug: Lake.BuildType
Debug optimization, asserts enabled, custom debug code enabled, and debug info included in executable (so you can step through the code with a debugger and have address to source-file:line-number translation). For example, passes
-Og -g
when compiling C code. - relWithDebInfo: Lake.BuildType
Optimized, with debug info, but no debug code or asserts (e.g., passes
-O3 -g -DNDEBUG
when compiling C code). - minSizeRel: Lake.BuildType
Same as
release
but optimizing for size rather than speed (e.g., passes-Os -DNDEBUG
when compiling C code). - release: Lake.BuildType
High optimization level and no debug info, code, or asserts (e.g., passes
-O3 -DNDEBUG
when compiling C code).
Lake equivalent of CMake's
CMAKE_BUILD_TYPE
.
Instances For
Equations
- Lake.instInhabitedBuildType = { default := Lake.BuildType.debug }
Equations
- Lake.instReprBuildType = { reprPrec := Lake.reprBuildType✝ }
Equations
- Lake.instDecidableEqBuildType x y = if h : Lake.BuildType.toCtorIdx x = Lake.BuildType.toCtorIdx y then isTrue (_ : x = y) else isFalse (_ : x = y → False)
Equations
- Lake.instOrdBuildType = { compare := Lake.ordBuildType✝ }
The arguments to pass to leanc
based on the build type.
Equations
- One or more equations did not get rendered due to their size.
Instances For
- buildType : Lake.BuildType
Additional arguments to pass to
lean
when compiling a module's Lean source files.Additional arguments to pass to
lean
when compiling a module's Lean source files.Unlike
moreLeanArgs
, these arguments do not affect the trace of the build result, so they can be changed without triggering a rebuild. They come beforemoreLeanArgs
.Additional arguments to pass to
leanc
when compiling a module's C source files generated bylean
.Lake already passes some flags based on the
buildType
, but you can change this by, for example, adding-O0
and-UNDEBUG
.Additional arguments to pass to
leanc
when compiling a module's C source files generated bylean
.Unlike
moreLeancArgs
, these arguments do not affect the trace of the build result, so they can be changed without triggering a rebuild. They come beforemoreLeancArgs
.Additional arguments to pass to
leanc
when linking (e.g., for shared libraries or binary executables). These will come after the paths of external libraries.Additional arguments to pass to
leanc
when linking (e.g., for shared libraries or binary executables). These will come after the paths of external libraries.Unlike
moreLinkArgs
, these arguments do not affect the trace of the build result, so they can be changed without triggering a rebuild. They come beforemoreLinkArgs
.
Configuration options common to targets that build modules.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lake.instReprLeanConfig = { reprPrec := Lake.reprLeanConfig✝ }