ProjectBuilder.st
changeset 2673 100b4dd5c3c2
parent 2672 a1cda5d8943d
child 2677 e2c24a1be97f
equal deleted inserted replaced
2672:a1cda5d8943d 2673:100b4dd5c3c2
     2 
     2 
     3 "{ NameSpace: Tools }"
     3 "{ NameSpace: Tools }"
     4 
     4 
     5 Object subclass:#ProjectBuilder
     5 Object subclass:#ProjectBuilder
     6 	instanceVariableNames:'package projectDefinitionClass sourceCodeManager buildDirectory
     6 	instanceVariableNames:'package projectDefinitionClass sourceCodeManager buildDirectory
     7 		myWorkingDirectory mySTXTopDirectory myTopDirectory outputStream'
     7 		myWorkingDirectory mySTXTopDirectory myTopDirectory outputStream
       
     8 		makeExeOnly'
     8 	classVariableNames:'PreviousBuildDirectory'
     9 	classVariableNames:'PreviousBuildDirectory'
     9 	poolDictionaries:''
    10 	poolDictionaries:''
    10 	category:'System-Support-Projects'
    11 	category:'System-Support-Projects'
    11 !
    12 !
    12 
    13 
    49     ^ buildDirectory
    50     ^ buildDirectory
    50 !
    51 !
    51 
    52 
    52 buildDirectory:something
    53 buildDirectory:something
    53     buildDirectory := something.
    54     buildDirectory := something.
       
    55 !
       
    56 
       
    57 makeExeOnly:aBoolean
       
    58     makeExeOnly := aBoolean.
    54 !
    59 !
    55 
    60 
    56 package:aPackageIDOrSymbol
    61 package:aPackageIDOrSymbol
    57     package := aPackageIDOrSymbol asPackageId.
    62     package := aPackageIDOrSymbol asPackageId.
    58 !
    63 !
   317                     'librun/librun.dll'
   322                     'librun/librun.dll'
   318                     'libbc/librun.lib'
   323                     'libbc/librun.lib'
   319                     'libbc/cs32i.lib'
   324                     'libbc/cs32i.lib'
   320                     'librun/genDate.exe'
   325                     'librun/genDate.exe'
   321                     'librun/main.c'
   326                     'librun/main.c'
       
   327                     'projects/smalltalk/stx_16x16.ico'
       
   328                     'projects/smalltalk/stx_32x32.ico'
       
   329                     'projects/smalltalk/stx_splash.bmp'
   322                  ).
   330                  ).
   323     ] ifFalse:[
   331     ] ifFalse:[
   324         files := #(
   332         files := #(
   325                     'librun/genDate'
   333                     'librun/genDate'
   326                     'librun/main.c'
   334                     'librun/main.c'
   557             outputTo:stdOut
   565             outputTo:stdOut
   558             errorTo:stdErr
   566             errorTo:stdErr
   559             inDirectory:(buildDirectory / module / directory)
   567             inDirectory:(buildDirectory / module / directory)
   560             onError:[:status| self error:'make failed'].
   568             onError:[:status| self error:'make failed'].
   561 
   569 
   562         OperatingSystem
   570         (makeExeOnly ? false) ifFalse:[
   563             executeCommand:(ParserFlags makeCommand,' setup')
   571             OperatingSystem
   564             inputFrom:nil
   572                 executeCommand:(ParserFlags makeCommand,' setup')
   565             outputTo:stdOut
   573                 inputFrom:nil
   566             errorTo:stdErr
   574                 outputTo:stdOut
   567             inDirectory:(buildDirectory / module / directory)
   575                 errorTo:stdErr
   568             onError:[:status| self error:'make failed'].
   576                 inDirectory:(buildDirectory / module / directory)
       
   577                 onError:[:status| self error:'make failed'].
       
   578         ]
   569     ]
   579     ]
   570 !
   580 !
   571 
   581 
   572 setupBuildDirectory
   582 setupBuildDirectory
   573     buildDirectory exists ifFalse:[
   583     buildDirectory exists ifFalse:[