diff --git a/src/babel.nim b/src/babel.nim index 7cf5bf1..f66782a 100644 --- a/src/babel.nim +++ b/src/babel.nim @@ -404,7 +404,7 @@ proc buildFromDir(pkgInfo: TPackageInfo, paths: seq[string]) = for bin in pkgInfo.bin: echo("Building ", pkginfo.name, "/", bin, " using ", pkgInfo.backend, " backend...") - doCmd("nimrod $# -d:release --noBabelPath $# \"$#\"" % + doCmd(getNimBin() & " $# -d:release --noBabelPath $# \"$#\"" % [pkgInfo.backend, args, realDir / bin.changeFileExt("nim")]) proc saveBabelMeta(pkgDestDir, url: string, filesInstalled: TSet[string]) = diff --git a/src/babelpkg/tools.nim b/src/babelpkg/tools.nim index 1cfb825..bb62b44 100644 --- a/src/babelpkg/tools.nim +++ b/src/babelpkg/tools.nim @@ -31,11 +31,17 @@ template cd*(dir: string, body: stmt) = body setCurrentDir(lastDir) +proc getNimBin*: string = + result = "nim" + if findExe("nim") != "": result = "nim" + elif findExe("nimrod") != "": result = "nimrod" + proc getNimrodVersion*: TVersion = - let vOutput = execProcess("nimrod -v") + let nimBin = getNimBin() + let vOutput = doCmdEx(nimBin & " -v").output var matches: array[0..MaxSubpatterns, string] if vOutput.find(peg"'Version'\s{(\d\.)+\d}", matches) == -1: - quit("Couldn't find Nimrod version.", QuitFailure) + quit("Couldn't find Nim version.", QuitFailure) newVersion(matches[0]) proc samePaths*(p1, p2: string): bool =