ProjectBuilder.st
changeset 2964 44fd164ad253
parent 2961 f28135198d42
child 2969 d03c40cd3fa5
--- a/ProjectBuilder.st	Wed Mar 06 10:02:27 2013 +0100
+++ b/ProjectBuilder.st	Fri Mar 08 15:43:26 2013 +0100
@@ -16,7 +16,7 @@
 Object subclass:#ProjectBuilder
 	instanceVariableNames:'package projectDefinitionClass sourceCodeManager buildDirectory
 		myWorkingDirectory mySTXTopDirectory myTopDirectory outputStream
-		makeExeOnly usedCompiler stdOut stdErr'
+		makeExeOnly usedCompiler stdOut stdErr isQuickBuild isLocalBuild'
 	classVariableNames:'PreviousBuildDirectory'
 	poolDictionaries:''
 	category:'System-Support-Projects'
@@ -143,6 +143,27 @@
     buildDirectory := something.
 !
 
+isLocalBuild
+    ^ isLocalBuild ? false
+!
+
+isLocalBuild:aBoolean
+    "create a files without going through the source code manager"
+
+    isLocalBuild := aBoolean.
+!
+
+isQuickBuild
+    ^ isQuickBuild ? false
+!
+
+isQuickBuild:aBoolean
+    "skips creation of header files, and copying of support files, if possible
+     to speedup a build. Use with care."
+
+    isQuickBuild := aBoolean.
+!
+
 makeExeOnly:aBoolean
     makeExeOnly := aBoolean.
 !
@@ -259,7 +280,7 @@
     PreviousBuildDirectory := buildDirectory.
 
     "/ UserPreferences current localBuild:true
-    UserPreferences current localBuild ifFalse:[
+    (self isLocalBuild or:[UserPreferences current localBuild]) ifFalse:[
         SourceCodeManager notNil ifTrue:[
             sourceCodeManager := SourceCodeManagerUtilities default sourceCodeManagerFor:projectDefinitionClass.
         ]
@@ -408,6 +429,8 @@
     targetDir := buildDirectory / 'stx' / subdir.
     targetDir exists ifFalse:[
         targetDir makeDirectory.
+    ] ifTrue:[
+        self isQuickBuild ifTrue:[^ self]
     ].
     (mySTXTopDirectory / subdir) directoryContentsAsFilenamesDo:[:eachFile |
         eachFile isDirectory ifFalse:[
@@ -508,16 +531,15 @@
     files := #().
 
     OperatingSystem isMSWINDOWSlike ifTrue:[
+        files := files , #( 'librun/genDate.com' ).
         usedCompiler = 'tcc' ifTrue:[
             files := files , #( 
                         'support/tcc'
                     ).
         ].
     ] ifFalse:[
-        files := files , #(
-                )
+        files := files , #( 'librun/genDate' ).
     ].
-    files := files asOrderedCollection.
 
     files do:[:relativePath |
         (mySTXTopDirectory / relativePath) exists ifTrue:[
@@ -684,7 +706,7 @@
 !
 
 generateSourceFiles
-    sourceCodeManager notNil ifTrue:[
+    (self isLocalBuild not and:[ sourceCodeManager notNil ])  ifTrue:[
         "/ check out / generate files there
         self generateSourceFilesByCheckingOutUsing:sourceCodeManager
     ] ifFalse:[