gdext/buildconf

Note: This is a module for NimScript; do not import from Nim modules. If you want to get the information configured by this module from Nim modules, import gdext/private/buildsettings instead.

Types

Architecture = enum
  default,                  ## HostCPU. The architecture what you use
  double,                   ## double-precision build
  single,                   ## single-precision build
  x86_64,                   ## 64-bit x86 build
  arm64,                    ## 64-bit ARM build
  rv64,                     ## 64-bit RISC-V build
  riscv,                    ## RISC-V build (any bitness)
  wasm32                     ## 32-bit WebAssembly build
Godot Docs: Architecture
BuildSettings = ref object
  name*: string              ## The name of the extension.
                             ## It affects the name of the generated file and
                             ## the name of the class that emulates the top level of Nim.
  extpath*: string           ## The path to the .gdextension file.
                             ## If empty, the default path is applied.
                             ## If the file does not exist, a new one is created there.
  entrySymbol*: string = "init_library" ## The name of the function
                                        ## Godot will call when initializing the extension.
                                        ## Usually does not need to be changed.
  platform*: Platform = linux ## Actually depends on your hostOS
                              ## Specify the platform to build. The default value is the OS used for
                              ## the build.
                              ## You can override the value also with the `-d:platform=XXX` command line option.
  target*: Target = debug ## Specifies the use of the binary.
                          ## `-d:release` is automatically set only if Target.release is specified.
                          ## You can override the value also with the `-d:target=XXX` command line option.
  arch*: Architecture = default ## Specify the CPU architecture on which the binary will run.
                                ## You can override the value also with the `-d:arch=XXX` command line option.
  updateMethod*: UpdateMethod = create
  genEditorHelp*: bool = true ## Specifies whether to generate in-editor class references.
Platform = enum
  windows,                  ## Windows operating system
  macos,                    ## Mac operating system
  linux,                    ## Linux operating system
  android,                  ## Android operating system
  ios,                      ## iOS operating system
  web                        ## Web browser
Godot Docs: Running System
Target = enum
  debug,                    ## Target with debug symbols
  release,                  ## Optimized build without debug symbols
  editor                     ## Editor build
Godot Docs: Build
UpdateMethod = enum
  create,                   ## Discard the original file and create a new one
  overwrite,                ## Retain the original changes and overwrites the updated ones
  inject                     ## Retain the original changes and inject the missing ones
Methods by which the gdext build system updates files

Procs

proc cmdswitched(_: typedesc[Architecture]): bool
proc cmdswitched(_: typedesc[Platform]): bool
proc cmdswitched(_: typedesc[Target]): bool
proc configure(setting: BuildSettings) {....raises: [IOError, OSError, Exception,
    ValueError, KeyError, CatchableError],
    tags: [ReadDirEffect, ReadIOEffect, WriteIOEffect, RootEffect], forbids: [].}

Templates

template configure(setting: BuildSettings; body)