[Vm-dev] VM Maker: CMakeVMMakerSqueak-tty.59.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Jun 16 23:42:04 UTC 2014


Timothy M uploaded a new version of CMakeVMMakerSqueak to project VM Maker:
http://source.squeak.org/VMMaker/CMakeVMMakerSqueak-tty.59.mcz

==================== Summary ====================

Name: CMakeVMMakerSqueak-tty.59
Author: tty
Time: 16 June 2014, 7:42:06.412 pm
UUID: d9697c5e-41f3-4fb3-8c34-dc0f134d3520
Ancestors: CMakeVMMakerSqueak-tty.58

reroute setGlobalOptions: aMaker to allow customization by Configurations by buildType.

Fix bug in configureForBuildType: aSymbol that incorrectly set the buildType: value 

Generated build and it compiled.

Tests all pass.

=============== Diff against CMakeVMMakerSqueak-tty.58 ===============

Item was changed:
  ----- Method: Linux32x86Config>>configureForBuildType: (in category 'cmake') -----
  configureForBuildType: aSymbol
+ 	| d |
- 	| d info |
  	"provide a concrete builder with the buildType and configureBuildX method to invoke"
- 	info := SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
  	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
  	self configureNoBuildType.                "reset all internal flags"
  	d 
  		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
- 		put: [self buildType:(info at:#build).  self configureBuild];
  
  		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
- 		put: [self buildType:(info at: #buildAssert).  	self configureBuildAssert];
  
  		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
- 		put:     [ self buildType:(info at: #buildAssertITimerHeartbeat ).   self configureBuildAssertITimerHeartbeat];
  
              at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
- 		put: [self buildType:(info at: #buildDebug ).  self configureBuildDebug];
  
  		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
- 		put:  [self buildType:(info at: #buildDebugITimerHeartbeat).   self configureBuildDebugITimerHeartbeat];
  
  		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
- 		put: [self buildType:(info at: #buildDebugMultiThreaded ).   self configureBuildDebugMultiThreaded];
  
  		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
- 		put: [self buildType:(info at:#buildITimerHeartbeat ).    self configureBuildIHeartbeatTimer];
  
  		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
- 		put:  [self buildType:(info at:#buildMultiThreaded ). self configureBuildMultiThreaded];
  
  		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
- 		put: [self buildType:(info at: #buildMultiThreadedAssert). self configureBuildMultiThreadedAssert];
  
  		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
- 		put: [self buildType: (info at: #buildMultiThreadedDebug). self configureBuildMultiThreadedDebug].
  
       ^(d at: aSymbol).!

Item was added:
+ ----- Method: Linux32x86SqueakCogV3Configz>>configureForBuildType: (in category 'cmake configuration') -----
+ configureForBuildType: aSymbol
+ 	| d |
+ 	"provide a concrete builder with the buildType and configureBuildX method to invoke"
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	self configureNoBuildType.                "reset all internal flags"
+ 	d 
+ 		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
+ 
+ 		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
+ 
+ 		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
+ 
+             at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
+ 
+ 		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
+ 
+ 		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
+ 
+ 		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
+ 
+ 		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
+ 
+ 		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
+ 
+ 		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
+ 
+      ^(d at: aSymbol).!

Item was added:
+ ----- Method: Linux32x86SqueakStackSpurConfigz>>configureForBuildType: (in category 'cmake configuration') -----
+ configureForBuildType: aSymbol
+ 	| d |
+ 	"provide a concrete builder with the buildType and configureBuildX method to invoke"
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	self configureNoBuildType.                "reset all internal flags"
+ 	d 
+ 		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
+ 
+ 		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
+ 
+ 		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
+ 
+             at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
+ 
+ 		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
+ 
+ 		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
+ 
+ 		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
+ 
+ 		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
+ 
+ 		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
+ 
+ 		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
+ 
+      ^(d at: aSymbol).!

Item was added:
+ ----- Method: Linux32x86SqueakStackV3Configz>>configureForBuildType: (in category 'cmake configuration') -----
+ configureForBuildType: aSymbol
+ 	| d |
+ 	"provide a concrete builder with the buildType and configureBuildX method to invoke"
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	self configureNoBuildType.                "reset all internal flags"
+ 	d 
+ 		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
+ 
+ 		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
+ 
+ 		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
+ 
+             at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
+ 
+ 		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
+ 
+ 		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
+ 
+ 		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
+ 
+ 		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
+ 
+ 		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
+ 
+ 		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
+ 
+      ^(d at: aSymbol).!

Item was added:
+ ----- Method: Linux64Config>>configureForBuildType: (in category 'cmake configuration') -----
+ configureForBuildType: aSymbol
+ 	| d |
+ 	"provide a concrete builder with the buildType and configureBuildX method to invoke"
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	self configureNoBuildType.                "reset all internal flags"
+ 	d 
+ 		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
+ 
+ 		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
+ 
+ 		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
+ 
+             at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
+ 
+ 		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
+ 
+ 		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
+ 
+ 		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
+ 
+ 		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
+ 
+ 		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
+ 
+ 		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
+ 
+      ^(d at: aSymbol).!

Item was changed:
  ----- Method: Linux64x86w32BitConfig>>configureForBuildType: (in category 'cmake') -----
  configureForBuildType: aSymbol
+ 	| d |
- 	| d info |
  	"provide a concrete builder with the buildType and configureBuildX method to invoke"
- 	info := SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
  	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
  	self configureNoBuildType.                "reset all internal flags"
  	d 
  		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
- 		put: [self buildType:(info at:#build).  self configureBuild];
  
  		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
- 		put: [self buildType:(info at: #buildAssert).  	self configureBuildAssert];
  
  		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
- 		put:     [ self buildType:(info at: #buildAssertITimerHeartbeat ).   self configureBuildAssertITimerHeartbeat];
  
              at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
- 		put: [self buildType:(info at: #buildDebug ).  self configureBuildDebug];
  
  		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
- 		put:  [self buildType:(info at: #buildDebugITimerHeartbeat).   self configureBuildDebugITimerHeartbeat];
  
  		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
- 		put: [self buildType:(info at: #buildDebugMultiThreaded ).   self configureBuildDebugMultiThreaded];
  
  		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
- 		put: [self buildType:(info at:#buildITimerHeartbeat ).    self configureBuildIHeartbeatTimer];
  
  		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
- 		put:  [self buildType:(info at:#buildMultiThreaded ). self configureBuildMultiThreaded];
  
  		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
- 		put: [self buildType:(info at: #buildMultiThreadedAssert). self configureBuildMultiThreadedAssert];
  
  		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
- 		put: [self buildType: (info at: #buildMultiThreadedDebug). self configureBuildMultiThreadedDebug].
  
       ^(d at: aSymbol).!

Item was changed:
  ----- Method: Linux64x86w32BitConfig>>setGlobalOptions: (in category 'utils') -----
+ setGlobalOptions: aMaker
+ 	"SystemNavigation default browseMethodsWhoseNamesContain: 'setGlobalOptions:'
- setGlobalOptions: maker
- 
- 	maker set: 'CMAKE_C_COMPILER' to: '/usr/bin/gcc'.
- 	maker set: 'CMAKE_CXX_COMPILER' to: '/usr/bin/g++'.
- "	maker set: 'CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH}' to: ' /usr/lib/gcc/x86_64-slackware-linux/4.8.2/'. 
- set any CMake global options, before declaring a project in cmake file
  	
+ 	we subclass this in our concrete builder and route it to "
+ 
+ 	^self setGlobalOptions: aMaker buildType: (buildType asSymbol)
+ !
- 	set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /opt/local/lib)
- 	SystemNavigation default browseMethodsWhoseNamesContain: 'setGlobalOptions:'
- "!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>setGlobalOptions:buildType: (in category 'utils') -----
+ setGlobalOptions: aMaker buildType: aBuildType
+ 	"invoke correct setGlobalOptions for this buildType to allow per-buildType customization'"
+ 
+ 	|d |
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	d 
+ 		at: #build put: [self setGlobalOptionsBuild: aMaker];
+ 		at: #buildAssert  put: [self setGlobalOptionsBuildAssert: aMaker];
+ 		at: #buildAssertITimerHeartbeat  put: [self setGlobalOptionsBuildAssertITimerHeartbeat: aMaker];
+             at:#buildDebug  put: [self setGlobalOptionsBuildDebug: aMaker];   "located in CMakeVMMaker CPlatformConfig"
+ 		at: #buildDebugITimerHeartbeat  put: [self setGlobalOptionsBuildDebugITimerHeartbeat: aMaker ];
+ 		at: #buildDebugMultiThreaded  put: [self setGlobalOptionsBuildDebugMultiThreaded: aMaker];
+ 		at: #buildITimerHeartbeat  put: [self setGlobalOptionsBuildITimerHeartbeat: aMaker];
+ 		at: #buildMultiThreaded  put: [self setGlobalOptionsBuildMultiThreaded: aMaker ];
+ 		at: #buildMultiThreadedAssert  put: [self setGlobalOptionsBuildMultiThreadedAssert: aMaker];
+ 		at: #buildMultiThreadedDebug   put: [self setGlobalOptionsBuildMultiThreadedDebug: aMaker ];
+ 		at: #buildNone put:[self setGlobalOptionsBuildNone: aMaker].
+ 
+ 	 ^((d at: ( aBuildType)) value)
+ !

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuild: (in category 'cmake config build type ') -----
+ setGlobalOptionsBuild: aMaker
+ 	"convenience method to customize setGlobalOptions: aMaker for this build type. 
+ 	Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker"
+ 	^super setGlobalOptions: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildAssert: (in category 'cmake config build type ') -----
+ setGlobalOptionsBuildAssert: aMaker
+ 	"convenience method to customize setGlobalOptions: aMaker for this build type. 
+ 	Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker"
+ 	^super setGlobalOptions: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildAssertITimerHeartbeat: (in category 'cmake config build type ') -----
+ setGlobalOptionsBuildAssertITimerHeartbeat: aMaker
+ 	"convenience method to customize setGlobalOptions: aMaker for this build type. 
+ 	Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker"
+ 	^super setGlobalOptions: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildDebug: (in category 'cmake config build type ') -----
+ setGlobalOptionsBuildDebug: aMaker
+ 	"convenience method to customize setGlobalOptions: aMaker for this build type. 
+ 	Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker"
+ 	^super setGlobalOptions: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildDebugITimerHeartbeat: (in category 'cmake config build type ') -----
+ setGlobalOptionsBuildDebugITimerHeartbeat: aMaker
+ 	"convenience method to customize setGlobalOptions: aMaker for this build type. 
+ 	Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker"
+ 	^super setGlobalOptions: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildITimerHeartbeat: (in category 'cmake config build type ') -----
+ setGlobalOptionsBuildITimerHeartbeat: aMaker
+ 	"convenience method to customize setGlobalOptions: aMaker for this build type. 
+ 	Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker"
+ 	self break.
+ 	^super setGlobalOptions: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildMultiThreaded: (in category 'cmake config build type ') -----
+ setGlobalOptionsBuildMultiThreaded: aMaker
+ 	"convenience method to customize setGlobalOptions: aMaker for this build type. 
+ 	Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker"
+ 	^super setGlobalOptions: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildMultiThreadedAssert: (in category 'cmake config build type ') -----
+ setGlobalOptionsBuildMultiThreadedAssert: aMaker
+ 	"convenience method to customize setGlobalOptions: aMaker for this build type. 
+ 	Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker"
+ 	^super setGlobalOptions: aMaker!

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildMultiThreadedDebug: (in category 'cmake config build type ') -----
+ setGlobalOptionsBuildMultiThreadedDebug: aMaker
+ 	"convenience method to customize setGlobalOptions: aMaker for this build type. 
+ 	Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker"
+ 	^super setGlobalOptions: aMaker!

Item was added:
+ ----- Method: SqueakAndroidStackEvtConfig>>configureForBuildType: (in category 'cmake configuration') -----
+ configureForBuildType: aSymbol
+ 	| d |
+ 	"provide a concrete builder with the buildType and configureBuildX method to invoke"
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	self configureNoBuildType.                "reset all internal flags"
+ 	d 
+ 		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
+ 
+ 		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
+ 
+ 		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
+ 
+             at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
+ 
+ 		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
+ 
+ 		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
+ 
+ 		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
+ 
+ 		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
+ 
+ 		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
+ 
+ 		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
+ 
+      ^(d at: aSymbol).!

Item was added:
+ ----- Method: SqueakBSDConfig>>configureForBuildType: (in category 'cmake configuration') -----
+ configureForBuildType: aSymbol
+ 	| d |
+ 	"provide a concrete builder with the buildType and configureBuildX method to invoke"
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	self configureNoBuildType.                "reset all internal flags"
+ 	d 
+ 		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
+ 
+ 		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
+ 
+ 		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
+ 
+             at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
+ 
+ 		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
+ 
+ 		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
+ 
+ 		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
+ 
+ 		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
+ 
+ 		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
+ 
+ 		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
+ 
+      ^(d at: aSymbol).!

Item was changed:
  ----- Method: SqueakCMakeVMMakerAbstractBuilder>>configureABuildFor:withBuildType: (in category 'building') -----
  configureABuildFor: configSymbol withBuildType: typeSymbol
  	| i |
  	self flag:'tty'. "excludeFromBuild returning True does not exit gracefully"
  	"Do some sanity checks, then set the internal state of a Configuration for a particular build type. "
  	[
  	((Smalltalk at: configSymbol)  category) =  (self configurationsCategory)  "verify the class is handled by this concrete builder"
  		ifTrue:[	
  				config := (Smalltalk at: configSymbol) new.                              "verify this config can handle this build type."
  				config excludeFromBuild                                                         "has a developer excluded this build manually?"
  					ifTrue:[^self userErrorConfigMarkedAsExcludeFromBuild: configSymbol].   
  				i:=config availableBuilds indexOf:typeSymbol                                    
  						ifAbsent:[^self userErrorInvalidBuildType: typeSymbol "this config does not support this build type"
  										forConfiguration: configSymbol 
  										hasTypes: config availableBuilds].
- 
  				(config configureForBuildType: typeSymbol) value.                             "config configure yourself"
  				^self]
  		ifFalse:[^self userErrorInvalidTarget: configSymbol]
  	] ifError:[^'error configureABuildFor: ''', configSymbol].
  
  	^nil.
  	
  
  	!

Item was added:
+ ----- Method: SqueakIA32BochsConfig>>configureForBuildType: (in category 'cmake configuration') -----
+ configureForBuildType: aSymbol
+ 	| d |
+ 	"provide a concrete builder with the buildType and configureBuildX method to invoke"
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	self configureNoBuildType.                "reset all internal flags"
+ 	d 
+ 		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
+ 
+ 		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
+ 
+ 		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
+ 
+             at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
+ 
+ 		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
+ 
+ 		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
+ 
+ 		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
+ 
+ 		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
+ 
+ 		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
+ 
+ 		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
+ 
+      ^(d at: aSymbol).!

Item was added:
+ ----- Method: SqueakMacOSConfig>>configureForBuildType: (in category 'cmake configuration') -----
+ configureForBuildType: aSymbol
+ 	| d |
+ 	"provide a concrete builder with the buildType and configureBuildX method to invoke"
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	self configureNoBuildType.                "reset all internal flags"
+ 	d 
+ 		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
+ 
+ 		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
+ 
+ 		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
+ 
+             at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
+ 
+ 		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
+ 
+ 		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
+ 
+ 		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
+ 
+ 		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
+ 
+ 		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
+ 
+ 		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
+ 
+      ^(d at: aSymbol).!

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>configureForBuildType: (in category 'cmake configuration') -----
+ configureForBuildType: aSymbol
+ 	| d |
+ 	"provide a concrete builder with the buildType and configureBuildX method to invoke"
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	self configureNoBuildType.                "reset all internal flags"
+ 	d 
+ 		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
+ 
+ 		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
+ 
+ 		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
+ 
+             at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
+ 
+ 		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
+ 
+ 		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
+ 
+ 		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
+ 
+ 		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
+ 
+ 		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
+ 
+ 		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
+ 
+      ^(d at: aSymbol).!

Item was added:
+ ----- Method: SqueakWin32x86Config>>configureForBuildType: (in category 'cmake configuration') -----
+ configureForBuildType: aSymbol
+ 	| d |
+ 	"provide a concrete builder with the buildType and configureBuildX method to invoke"
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	self configureNoBuildType.                "reset all internal flags"
+ 	d 
+ 		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
+ 
+ 		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
+ 
+ 		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
+ 
+             at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
+ 
+ 		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
+ 
+ 		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
+ 
+ 		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
+ 
+ 		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
+ 
+ 		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
+ 
+ 		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
+ 
+      ^(d at: aSymbol).!

Item was changed:
  ----- Method: TCPlatformConfigForSqueak>>configureForBuildType: (in category 'cmake configuration') -----
  configureForBuildType: aSymbol
+ 	| d |
- 	| d info |
  	"provide a concrete builder with the buildType and configureBuildX method to invoke"
- 	info := SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
  	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
  	self configureNoBuildType.                "reset all internal flags"
  	d 
  		at: #build 
+ 		put: [self buildType:#build.  self configureBuild];
- 		put: [self buildType:(info at:#build).  self configureBuild];
  
  		at: #buildAssert 
+ 		put: [self buildType: #buildAssert.  	self configureBuildAssert];
- 		put: [self buildType:(info at: #buildAssert).  	self configureBuildAssert];
  
  		at: #buildAssertITimerHeartbeat 
+ 		put:     [ self buildType: #buildAssertITimerHeartbeat.   self configureBuildAssertITimerHeartbeat];
- 		put:     [ self buildType:(info at: #buildAssertITimerHeartbeat ).   self configureBuildAssertITimerHeartbeat];
  
              at:#buildDebug 
+ 		put: [self buildType: #buildDebug.  self configureBuildDebug];
- 		put: [self buildType:(info at: #buildDebug ).  self configureBuildDebug];
  
  		at: #buildDebugITimerHeartbeat 
+ 		put:  [self buildType: #buildDebugITimerHeartbeat.   self configureBuildDebugITimerHeartbeat];
- 		put:  [self buildType:(info at: #buildDebugITimerHeartbeat).   self configureBuildDebugITimerHeartbeat];
  
  		at: #buildDebugMultiThreaded 
+ 		put: [self buildType: #buildDebugMultiThreaded.   self configureBuildDebugMultiThreaded];
- 		put: [self buildType:(info at: #buildDebugMultiThreaded ).   self configureBuildDebugMultiThreaded];
  
  		at: #buildITimerHeartbeat 
+ 		put: [self buildType:#buildITimerHeartbeat.    self configureBuildIHeartbeatTimer];
- 		put: [self buildType:(info at:#buildITimerHeartbeat ).    self configureBuildIHeartbeatTimer];
  
  		at: #buildMultiThreaded 
+ 		put:  [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded];
- 		put:  [self buildType:(info at:#buildMultiThreaded ). self configureBuildMultiThreaded];
  
  		at: #buildMultiThreadedAssert 
+ 		put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert];
- 		put: [self buildType:(info at: #buildMultiThreadedAssert). self configureBuildMultiThreadedAssert];
  
  		at: #buildMultiThreadedDebug  
+ 		put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug].
- 		put: [self buildType: (info at: #buildMultiThreadedDebug). self configureBuildMultiThreadedDebug].
  
       ^(d at: aSymbol).!

Item was changed:
  ----- Method: TCPlatformConfigForSqueak>>setGlobalOptions: (in category 'utils') -----
  setGlobalOptions: maker
+ 	"SystemNavigation default browseMethodsWhoseNamesContain: 'setGlobalOptions:'
- 	self required
- 	"set any CMake global options, before declaring a project in cmake file
  	
+ 	we subclass this in our concrete builder and route it to 
- 	maker set: 'CMAKE_C_COMPILER' to: '/usr/bin/gcc'.
- 	maker set: 'CMAKE_CXX_COMPILER' to: '/usr/bin/g++'.
  	
+ 	^self setGlobalOptions: aMaker buildType: (self buildType asSymbol)
+ 
+ 	"
+ 	self required
+ 	
+ !
- 	SystemNavigation default browseMethodsWhoseNamesContain: 'setGlobalOptions:'
- "!

Item was added:
+ ----- Method: TCPlatformConfigForSqueak>>setGlobalOptions:buildType: (in category 'utils') -----
+ setGlobalOptions: aMaker buildType: aBuildType
+ 	"invoke correct setGlobalOptions for this buildType to allow per-buildType customization'"
+ 
+ 	|d |
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	d 
+ 		at: #build put: [self setGlobalOptionsBuild: aMaker];
+ 		at: #buildAssert  put: [self setGlobalOptionsBuildAssert: aMaker];
+ 		at: #buildAssertITimerHeartbeat  put: [self setGlobalOptionsBuildAssertITimerHeartbeat: aMaker];
+             at:#buildDebug  put: [self setGlobalOptionsBuildDebug: aMaker];   "located in CMakeVMMaker CPlatformConfig"
+ 		at: #buildDebugITimerHeartbeat  put: [self setGlobalOptionsBuildDebugITimerHeartbeat: aMaker ];
+ 		at: #buildDebugMultiThreaded  put: [self setGlobalOptionsBuildDebugMultiThreaded: aMaker];
+ 		at: #buildITimerHeartbeat  put: [self setGlobalOptionsBuildITimerHeartbeat: aMaker];
+ 		at: #buildMultiThreaded  put: [self setGlobalOptionsBuildMultiThreaded: aMaker ];
+ 		at: #buildMultiThreadedAssert  put: [self setGlobalOptionsBuildMultiThreadedAssert: aMaker];
+ 		at: #buildMultiThreadedDebug   put: [self setGlobalOptionsBuildMultiThreadedDebug: aMaker ];
+ 		at: #buildNone put:[self setGlobalOptionsBuildNone: aMaker].
+ 
+ 	 ^(d at: ( aBuildType)) value
+ !

Item was changed:
  ----- Method: TCPlatformConfigForSqueak>>setGlobalOptionsBuildNone: (in category 'cmake config build type ') -----
  setGlobalOptionsBuildNone: aMaker
+ 	"SHOULD NOT HAPPEN"
+ 	self halt.!
- 	self required.!



More information about the Vm-dev mailing list