#!/usr/bin/env dub
name                "spine"
description         "sisu document parser"
homepage            "http://sisudoc.org"
authors             "Ralph Amissah"
copyright           "Copyright (C) 2016 - 2020 Ralph Amissah"
license             "AGPL-3.0+"
targetPath          "./bin"
#sourcePath          "./src/doc_reform"
stringImportPaths   "./views"
buildRequirements   "allowWarnings"
targetType          "executable"
platforms           "posix"
dependency          "d2sqlite3"      version="~>0.19.1"      # https://code.dlang.org/packages/d2sqlite3     http://biozic.github.io/d2sqlite3/d2sqlite3
  subconfiguration  "d2sqlite3"      "all-included"
dependency          "imageformats"   version="~>7.0.2"       # https://code.dlang.org/packages/imageformats  https://github.com/lgvz/imageformats
dependency          "dyaml"          version="~>0.8.0"       # https://code.dlang.org/packages/dyaml         https://github.com/dlang-community/D-YAML
dependency          "tinyendian"     version="~>0.2.0"       # http://code.dlang.org/packages/tinyendian     https://github.com/dlang-community/tinyendian // dyaml dependency
configuration "default" {
  targetName           "spine"
  #postGenerateCommands "notify-send -t 0 'D executable ready' 'spine'"
}
configuration "dmd" {
  targetName           "spine-dmd"
  #postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-dmd'"
}
buildType     "dmd" {
  dflags               "-J=views" "-I=src/doc_reform"
  buildOptions         "verbose" "inline"
  buildRequirements    "allowWarnings"
}
buildType     "dmd-release" {
  dflags               "-J=views" "-I=src/doc_reform"
  buildOptions         "verbose" "releaseMode" "optimize" "inline"
}
configuration "dmd-version" {
  dflags               "-J=views" "-I=src/doc_reform"
  buildOptions         "verbose" "optimize"
  targetName           "spine-dmd-ver"
  #postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-dmd-ver'"
}
configuration "ldc" {
  targetName           "spine-ldc"
  #postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-ldc'"
}
buildType     "ldc" {
  dflags            "-O2" "-J=views" "-I=src/doc_reform"
  buildOptions      "verbose" "optimize" "inline"
  buildRequirements "allowWarnings"
}
buildType     "ldc-local" {
  dflags            "-O2" "-J=views" "-I=src/doc_reform" "-mcpu=native"
  buildOptions      "verbose" "optimize" "inline"
  buildRequirements "allowWarnings"
}
buildType     "ldc-release" {
  dflags               "-O2" "-J=views" "-I=src/doc_reform"
  buildOptions         "verbose" "optimize" "inline" "releaseMode"
}
configuration "ldc-version" {
  dflags               "-O2" "-J=views" "-I=src/doc_reform"
  buildOptions         "verbose" "optimize" "inline" "releaseMode"
  targetName           "spine-ldc-ver"
  #postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-ldc-ver'"
}
configuration "gdc" {
  targetName           "spine-gdc"
  #postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-gdc'"
}
buildType     "gdc" {
  dflags               "-O" "-J=views" "-I=src/doc_reform"
  lflags               "-lz"
  buildOptions         "inline"
  buildRequirements    "allowWarnings"
}
buildType     "gdc-release" {
  dflags               "-O2" "-J=views" "-I=src/doc_reform"
  lflags               "-lz"
  buildOptions         "verbose" "optimize" "inline" "releaseMode"
}
configuration "gdc-version" {
  dflags               "-O2" "-J=views" "-I=src/doc_reform"
  lflags               "-lz"
  buildOptions         "verbose" "optimize" "inline" "releaseMode"
  targetName           "spine-gdc-ver"
  #postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-gdc-ver'"
}