From 16a941a64206d7727cd1971559bfeea70ccc952f Mon Sep 17 00:00:00 2001 From: manterolat Date: Wed, 10 Oct 2018 08:17:28 -0300 Subject: [PATCH] Fixes #9154 (#9193) --- compiler/cgen.nim | 3 +++ compiler/jsgen.nim | 3 +++ 2 files changed, 6 insertions(+) diff --git a/compiler/cgen.nim b/compiler/cgen.nim index 2500446011..918bec0f92 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 f91bfda8c9..1be8629b93 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)