diff options
| -rw-r--r-- | nimterop/build.nim | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/nimterop/build.nim b/nimterop/build.nim index f96593e..cbf9b25 100644 --- a/nimterop/build.nim +++ b/nimterop/build.nim @@ -29,7 +29,16 @@ proc execAction*(cmd: string, retry = 0, nostderr = false): string = ccmd = "" ret = 0 when defined(Windows): - ccmd = "cmd /c " & cmd + var filteredCmd = cmd + if cmd.toLower().startsWith("cd"): + var + colonIndex = cmd.find(":") + driveLetter = cmd.substr(colonIndex-1, colonIndex) + if (driveLetter[0].isAlphaAscii() and + driveLetter[1] == ':' and + colonIndex == 4): + filteredCmd = &"{driveLetter} && {cmd}" + ccmd = "cmd /c " & filteredCmd elif defined(posix): ccmd = cmd else: |
