diff options
author | manterolat <manterolat@users.noreply.github.com> | 2018-10-10 08:17:28 -0300 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2018-10-10 13:17:28 +0200 |
commit | 16a941a64206d7727cd1971559bfeea70ccc952f (patch) | |
tree | 371e75d621a3340b0a335058544305d2b3419260 | |
parent | 462bff48b22adf1415232e6da74698c69c88e949 (diff) | |
download | Nim-16a941a64206d7727cd1971559bfeea70ccc952f.tar.gz |
Fixes #9154 (#9193)
-rw-r--r-- | compiler/cgen.nim | 3 | ||||
-rw-r--r-- | compiler/jsgen.nim | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/compiler/cgen.nim b/compiler/cgen.nim index 250044601..918bec0f9 100644 --- a/compiler/cgen.nim +++ b/compiler/cgen.nim @@ -1635,6 +1635,9 @@ proc cgenWriteModules*(backend: RootRef, config: ConfigRef) = # deps are allowed (and the system module is processed in the wrong # order anyway) g.config = config + let (outDir, _, _) = splitFile(config.outfile) + if not outDir.isEmpty: + createDir(outDir) if g.generatedHeader != nil: finishModule(g.generatedHeader) while g.forwardedProcsCounter > 0: for m in cgenModules(g): diff --git a/compiler/jsgen.nim b/compiler/jsgen.nim index f91bfda8c..1be8629b9 100644 --- a/compiler/jsgen.nim +++ b/compiler/jsgen.nim @@ -2345,6 +2345,9 @@ proc myClose(graph: ModuleGraph; b: PPassContext, n: PNode): PNode = else: AbsoluteFile(getCurrentDir() / m.config.outFile.string) else: changeFileExt(completeCFilePath(m.config, AbsoluteFile f), ext) + let (outDir, _, _) = splitFile(outfile) + if not outDir.isEmpty: + createDir(outDir) discard writeRopeIfNotEqual(genHeader() & code, outfile) for obj, content in items(globals.classes): genClass(m.config, obj, content, ext) |