view config.nims @ 28:b1b05d4efb52

big refactoring, part1
author Sam <sam@basx.dev>
date Sat, 14 Jan 2023 14:08:00 +0700
parents 71bbe11d8de8
children 94c38e4b5782
line wrap: on
line source

import os

const buildbase = "build"

proc compilerFlags() =
  switch("path", "src")
  switch("mm", "orc")
  switch("experimental", "strictEffects")
  switch("threads", "on")
  switch("app", "gui")

proc compilerFlagsDebug() =
  switch("debugger", "native")
  switch("checks", "on")
  switch("assertions", "on")

proc compilerFlagsRelease() =
  switch("define", "release")
  switch("checks", "off")
  switch("assertions", "off")

task build_linux_debug, "build linux debug":
  compilerFlags()
  compilerFlagsDebug()
  buildbase.joinPath("debug/linux").mkDir()
  setCommand "c"

task build_linux_release, "build linux release":
  compilerFlags()
  compilerFlagsRelease()
  buildbase.joinPath("release/linux").mkDir()
  setCommand "c"

task build_windows_debug, "build windows debug":
  compilerFlags()
  compilerFlagsDebug()
  switch("define", "mingw")
  buildbase.joinPath("debug/windows").mkDir()
  setCommand "c"

task build_windows_release, "build windows release":
  compilerFlags()
  compilerFlagsRelease()
  switch("define", "mingw")
  buildbase.joinPath("release/windows").mkDir()
  setCommand "c"

compilerFlags()