This module allows querying the compiler about diverse configuration settings. See also compileOption.
Types
MultipleValueSetting {.pure.} = enum
nimblePaths, ## the nimble path(s)
searchPaths, ## the search path for modules
lazyPaths, ## experimental: even more paths
commandArgs, ## the arguments passed to the Nim compiler
cincludes, ## the #include paths passed to the C/C++ compiler
clibs ## libraries passed to the C/C++ compiler
settings resulting in a seq of string values Source Edit
SingleValueSetting {.pure.} = enum
arguments, ## experimental: the arguments passed after '-r'
outFile, ## experimental: the output file
outDir, ## the output directory
nimcacheDir, ## the location of the 'nimcache' directory
projectName, ## the project's name that is being compiled
projectPath, ## experimental: some path to the project that is being compiled
projectFull, ## the full path to the project that is being compiled
command, ## experimental: the command (e.g. 'c', 'cpp', 'doc') passed to
## the Nim compiler
commandLine, ## experimental: the command line passed to Nim
linkOptions, ## additional options passed to the linker
compileOptions, ## additional options passed to the C/C++ compiler
ccompilerPath, ## the path to the C/C++ compiler
backend, ## the backend (eg: c|cpp|objc|js); both `nim doc --backend:js`
## and `nim js` would imply backend=js
libPath, ## the absolute path to the stdlib library, i.e. nim's `--lib`, since 1.5.1
gc {....deprecated.}, ## gc selected
mm ## memory management selected
settings resulting in a single string value Source Edit
Procs
proc querySetting(setting: SingleValueSetting): string {.compileTime,
noSideEffect, ...raises: [], tags: [], forbids: [].}
Can be used to get a string compile-time option.
See also:
- compileOption for on|off options
- compileOption for enum options
Example:
const nimcache = querySetting(SingleValueSetting.nimcacheDir)
proc querySettingSeq(setting: MultipleValueSetting): seq[string] {.compileTime,
noSideEffect, ...raises: [], tags: [], forbids: [].}
Can be used to get a multi-string compile-time option.
See also:
- compileOption for on|off options
- compileOption for enum options
Example:
const nimblePaths = querySettingSeq(MultipleValueSetting.nimblePaths)