diff --git a/src/nimblepkg/nimscriptapi.nim b/src/nimblepkg/nimscriptapi.nim index fa6344b1..6cd632ea 100644 --- a/src/nimblepkg/nimscriptapi.nim +++ b/src/nimblepkg/nimscriptapi.nim @@ -80,6 +80,10 @@ proc getParams(): tuple[scriptFile, projectFile, outFile, actionName: string, const # Command line values are const so that thisDir() works at compile time (scriptFile, projectFile, outFile, actionName, commandLineParams*) = getParams() + NimbleVersion* {.strdefine.} = "" + NimbleMajor* {.intdefine.} = 0 + NimbleMinor* {.intdefine.} = 0 + NimblePatch* {.intdefine.} = 0 proc getCommand*(): string = return command diff --git a/src/nimblepkg/nimscriptwrapper.nim b/src/nimblepkg/nimscriptwrapper.nim index 2450c88f..e4826e90 100644 --- a/src/nimblepkg/nimscriptwrapper.nim +++ b/src/nimblepkg/nimscriptwrapper.nim @@ -47,11 +47,16 @@ proc execNimscript( compFlags = if isCustomTask: join(options.getCompilationFlags(), " ") else: "" + let nimbleVersion = common.nimbleVersion.split(".") var cmd = ( - "$# e $# $# --colors:on $# $# $# $# $#" % [ + "$# e $# $# --colors:on $# $# $# $# $# $# $# $# $#" % [ getNimBin(options).quoteShell, "--hints:off --verbosity:0", "--define:nimbleExe=" & getAppFilename().quoteShell, + "--define:NimbleVersion=" & common.nimbleVersion, + "--define:NimbleMajor=" & nimbleVersion[0], + "--define:NimbleMinor=" & nimbleVersion[1], + "--define:NimblePatch=" & nimbleVersion[2], compFlags, nimsFile.quoteShell, nimbleFile.quoteShell,