summary refs log tree commit diff stats
path: root/compiler/main.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2019-07-11 21:36:23 +0200
committerGitHub <noreply@github.com>2019-07-11 21:36:23 +0200
commit3d88d06b32d1337fda45d419e9cd2ad845b74d5d (patch)
tree195ec50d46fe2cd4403e46286adb7829737bdbf1 /compiler/main.nim
parentb8be1ccb855f8bde82ed1721e4231119ffa48e9f (diff)
downloadNim-3d88d06b32d1337fda45d419e9cd2ad845b74d5d.tar.gz
better run [feature] (#11709)
* track the checksums of all involved Nim files for smarter 'nim c -r' recompiles
* don't recompile unless necessary for 'nim c -r' [feature]
* [feature] koch boot uses a two step process in order to free the RAM before the GCC/Clang invocations
* fixes a serious regression
Diffstat (limited to 'compiler/main.nim')
-rw-r--r--compiler/main.nim9
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/main.nim b/compiler/main.nim
index acd7c7485..26c1999e6 100644
--- a/compiler/main.nim
+++ b/compiler/main.nim
@@ -87,6 +87,15 @@ proc commandCompileToC(graph: ModuleGraph) =
   semanticPasses(graph)
   registerPass(graph, cgenPass)
 
+  if {optRun, optForceFullMake} * conf.globalOptions == {optRun}:
+    let proj = changeFileExt(conf.projectFull, "")
+    if not changeDetectedViaJsonBuildInstructions(conf, proj):
+      # nothing changed
+      # Little hack here in order to not lose our precious
+      # hintSuccessX message:
+      conf.notes.incl hintSuccessX
+      return
+
   compileProject(graph)
   if graph.config.errorCounter > 0:
     return # issue #9933