--- 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:[