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

commits at source.squeak.org commits at source.squeak.org
Fri Jul 18 00:09:16 UTC 2014


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

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

Name: CMakeVMMakerSqueak-tty.90
Author: tty
Time: 17 July 2014, 8:09:42.532 pm
UUID: 2d37bd0f-f980-4488-ac98-ee0e48339d72
Ancestors: CMakeVMMakerSqueak-tty.89

vmDrivers: becomes vmPlugins because turtles* are our friends


*turtles are consistent naming conventions, as in "turtles all the way down"

=============== Diff against CMakeVMMakerSqueak-tty.89 ===============

Item was changed:
  SystemOrganization addCategory: #CMakeVMMakerSqueak!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-Android'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-BSD32x86'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-Builder'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-CMakeCompositeTemplates'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-CMakeCustomTemplates'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-CMakeTemplates'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-Help'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-IA32-Bochs'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-IOS'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-Libs'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-Linux32ARMv6'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-Linux32x86'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-Linux64X86-32BitCompatibility'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-LinuxX86-64'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-MacOSPowerPC'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-MacOSX32x86'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-SunOS32x86'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-Tests'!
+ SystemOrganization addCategory: #'CMakeVMMakerSqueak-VMPlugins'!
- SystemOrganization addCategory: #'CMakeVMMakerSqueak-VMDriver'!
  SystemOrganization addCategory: #'CMakeVMMakerSqueak-Win32x86'!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMDisplayCustom
- CMakeVMDriverWrapper subclass: #CMakeVMDisplayCustom
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMDisplayFbdev
- CMakeVMDriverWrapper subclass: #CMakeVMDisplayFbdev
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMDisplayNull
- CMakeVMDriverWrapper subclass: #CMakeVMDisplayNull
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMDisplayQuartz
- CMakeVMDriverWrapper subclass: #CMakeVMDisplayQuartz
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMDisplayX11
- CMakeVMDriverWrapper subclass: #CMakeVMDisplayX11
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was removed:
- Object subclass: #CMakeVMDriverWrapper
- 	instanceVariableNames: 'driver sources compilerdefinitions compilerflags externallibraries linkerflags includedirectories'
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'CMakeVMMakerSqueak-VMDriver'!
- 
- !CMakeVMDriverWrapper commentStamp: 'tty 7/17/2014 13:41' prior: 0!
- A CMakeVMDriverWrapper is a data bucket for things like:
- 
- 'vm-display-Quartz' 
- 'vm-display-X11'  
- 'vm-display-custom'  
- 'vm-display-fbdev'  
- 'vm-display-null'  
- 'vm-sound-ALSA'  
- 'vm-sound-MacOSX'  
- 'vm-sound-NAS'  
- 'vm-sound-OSS'  
- 'vm-sound-Sun'  
- 'vm-sound-custom'
- 'vm-sound-null'
- 
- 
- !

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>compilerdefinitions (in category 'accessing') -----
- compilerdefinitions
- 
- 	^ compilerdefinitions!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>compilerdefinitions: (in category 'accessing') -----
- compilerdefinitions: anObject
- 
- 	compilerdefinitions := anObject!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>compilerflags (in category 'accessing') -----
- compilerflags
- 
- 	^ compilerflags!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>compilerflags: (in category 'accessing') -----
- compilerflags: anObject
- 
- 	compilerflags := anObject!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>driver (in category 'accessing') -----
- driver
- 
- 	^ driver!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>driver: (in category 'accessing') -----
- driver: anObject
- 
- 	driver := anObject!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>driver:sources:compilerdefinitions:compilerflags:externallibraries:linkerflags:includedirectories: (in category 'accessing') -----
- driver:dString sources:sCollection compilerdefinitions: cdCollection compilerflags: cfCollection externallibraries:elCollection linkerflags: lfCollection includedirectories: idCollection
- 	driver:= dString.
- 	sources:= sCollection.
- 	compilerdefinitions:= cdCollection.
- 	compilerflags:= cfCollection.
- 	externallibraries := elCollection.
- 	linkerflags:= lfCollection.
- 	includedirectories := idCollection.!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>externallibraries (in category 'accessing') -----
- externallibraries
- 
- 	^ externallibraries!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>externallibraries: (in category 'accessing') -----
- externallibraries: anObject
- 
- 	externallibraries := anObject!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>includedirectories (in category 'accessing') -----
- includedirectories
- 
- 	^ includedirectories!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>includedirectories: (in category 'accessing') -----
- includedirectories: anObject
- 
- 	includedirectories := anObject!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>initialize (in category 'initialize-release') -----
- initialize
- "force CPlatformConfigurations to set my internal state explicitly by filling me with initial nonsense values"
- 	sources := OrderedCollection with: 'sources' with: 'paths'.
- 	compilerdefinitions := OrderedCollection with:'-DCompiler' with: '-DDefinitions'.
- 	compilerflags := OrderedCollection with:'-compiler' with: '-flags'.
- 	externallibraries := OrderedCollection with:'cxternal'with:'library'.
- 	linkerflags := OrderedCollection with:'linker' with:'flags'.
- 	includedirectories := OrderedCollection with:'include' with:'directories'.!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>linkerflags (in category 'accessing') -----
- linkerflags
- 
- 	^ linkerflags!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>linkerflags: (in category 'accessing') -----
- linkerflags: anObject
- 
- 	linkerflags := anObject!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>sources (in category 'accessing') -----
- sources
- 
- 	^ sources!

Item was removed:
- ----- Method: CMakeVMDriverWrapper>>sources: (in category 'accessing') -----
- sources: anObject
- 
- 	sources := anObject!

Item was changed:
  ----- Method: CMakeVMGeneratorForSqueak>>generateByTemplate (in category 'code generation') -----
  generateByTemplate
  	"attempt to move way from string based writing to  template based. Think Seaside renderOn composition"
  	| extPlugins intPlugins |
  	self flag: 'tty'. "refactor so that the cascade reflects CMake terminilogy"
  	output := String new writeStream.
  	config templates: OrderedCollection new. 
  	config 
  		setGlobalOptions: self;    
  		cmakePrefixPath;
  		cmakeIncludePath;
  		cmakeLibraryPath;
  		cmakeIncludeModules;          
  		cmakeCFlags;          
  		cmakeAddDefinitions;
  		cmakeSharedLinkerFlags;
  		setGlobalOptionsAfterDetermineSystem: self;    
  		setDirectories:  self;
  		cmakeIncludeDirectories:  self;
  		preferredIncludes;
  		standardIncludes;
  		extraVMSettings: self;
  		setCoreSources: self;
  		setPlatformSources: self;
  		setCrossSources: self;
  		setExtraSources;
  		cmakeSetSourceFilesProperties;
  		cmakeListAppend:'LINKLIBS' elements: (config externalLibs);
  		cmakeAddExecutableNameOptionSource: self;
  	      setExecutableOutputPath;
+ 		addVMPlugins: self.
- 		addVMDrivers: self.
  	
  "
  	self addVMDrivers: aMaker.
  "
  	config templates do: [:each | self puts: each content].
  
  	extPlugins := self generatePluginConfigs: config internalPlugins internal: true.
  	 intPlugins := self generatePluginConfigs: config externalPlugins internal: false.
  	self processThirdpartyLibraries.
  	self processPlugins:  intPlugins, extPlugins.
  
  "	config setExtraTargetProperties: self."
  	self cmd: 'target_link_libraries'
  		params: self moduleName , ' ${LINKLIBS}'.
  	config postBuildActions: self..
  	self saveFile.
  	self generateBuildScript!

Item was changed:
  ----- Method: CMakeVMMakerSqueakUnixConfigTest>>testAddVMDrivers (in category 'as yet unclassified') -----
  testAddVMDrivers
  	self flag:'tty'. "Is the self shouldnt sufficient?"
  	#( #SqueakUnixConfig ) 
  		do:[:each | 
  			(Smalltalk at:each) 
  				allSubclassesDo:[:configuration | | o buildTypes vmGenerator|
  					o:= configuration new.
  					(o excludeFromBuild not) & (configuration isAbstractBaseClass not)
  						ifTrue:[
  							buildTypes:=o availableBuildTypes copyWithoutAll:#(#buildNone).
  							buildTypes do:[:buildType |
  								o configureForBuildType: buildType.
  								vmGenerator:=CMakeVMGeneratorForSqueak new.
  								vmGenerator config: o.
  								vmGenerator output:(String new writeStream).
+ 								self shouldnt: [o addVMPlugins: vmGenerator] raise: Error]]]].
- 								self shouldnt: [o addVMDrivers: vmGenerator] raise: Error]]]].
  !

Item was added:
+ Object subclass: #CMakeVMPlugin
+ 	instanceVariableNames: 'driver sources compilerdefinitions compilerflags externallibraries linkerflags includedirectories'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
+ 
+ !CMakeVMPlugin commentStamp: 'tty 7/17/2014 19:53' prior: 0!
+ A CMakeVMPlugin is a  data bucket for things like:
+ 
+ 'vm-display-Quartz' 
+ 'vm-display-X11'  
+ 'vm-display-custom'  
+ 'vm-display-fbdev'  
+ 'vm-display-null'  
+ 'vm-sound-ALSA'  
+ 'vm-sound-MacOSX'  
+ 'vm-sound-NAS'  
+ 'vm-sound-OSS'  
+ 'vm-sound-Sun'  
+ 'vm-sound-custom'
+ 'vm-sound-null'
+ 
+ 
+ 
+ 
+ !

Item was added:
+ ----- Method: CMakeVMPlugin>>compilerdefinitions (in category 'accessing') -----
+ compilerdefinitions
+ 
+ 	^ compilerdefinitions!

Item was added:
+ ----- Method: CMakeVMPlugin>>compilerdefinitions: (in category 'accessing') -----
+ compilerdefinitions: anObject
+ 
+ 	compilerdefinitions := anObject!

Item was added:
+ ----- Method: CMakeVMPlugin>>compilerflags (in category 'accessing') -----
+ compilerflags
+ 
+ 	^ compilerflags!

Item was added:
+ ----- Method: CMakeVMPlugin>>compilerflags: (in category 'accessing') -----
+ compilerflags: anObject
+ 
+ 	compilerflags := anObject!

Item was added:
+ ----- Method: CMakeVMPlugin>>driver (in category 'accessing') -----
+ driver
+ 
+ 	^ driver!

Item was added:
+ ----- Method: CMakeVMPlugin>>driver: (in category 'accessing') -----
+ driver: anObject
+ 
+ 	driver := anObject!

Item was added:
+ ----- Method: CMakeVMPlugin>>driver:sources:compilerdefinitions:compilerflags:externallibraries:linkerflags:includedirectories: (in category 'accessing') -----
+ driver:dString sources:sCollection compilerdefinitions: cdCollection compilerflags: cfCollection externallibraries:elCollection linkerflags: lfCollection includedirectories: idCollection
+ 	driver:= dString.
+ 	sources:= sCollection.
+ 	compilerdefinitions:= cdCollection.
+ 	compilerflags:= cfCollection.
+ 	externallibraries := elCollection.
+ 	linkerflags:= lfCollection.
+ 	includedirectories := idCollection.!

Item was added:
+ ----- Method: CMakeVMPlugin>>externallibraries (in category 'accessing') -----
+ externallibraries
+ 
+ 	^ externallibraries!

Item was added:
+ ----- Method: CMakeVMPlugin>>externallibraries: (in category 'accessing') -----
+ externallibraries: anObject
+ 
+ 	externallibraries := anObject!

Item was added:
+ ----- Method: CMakeVMPlugin>>includedirectories (in category 'accessing') -----
+ includedirectories
+ 
+ 	^ includedirectories!

Item was added:
+ ----- Method: CMakeVMPlugin>>includedirectories: (in category 'accessing') -----
+ includedirectories: anObject
+ 
+ 	includedirectories := anObject!

Item was added:
+ ----- Method: CMakeVMPlugin>>initialize (in category 'initialize-release') -----
+ initialize
+ "force CPlatformConfigurations to set my internal state explicitly by filling me with initial nonsense values"
+ 	sources := OrderedCollection with: 'sources' with: 'paths'.
+ 	compilerdefinitions := OrderedCollection with:'-DCompiler' with: '-DDefinitions'.
+ 	compilerflags := OrderedCollection with:'-compiler' with: '-flags'.
+ 	externallibraries := OrderedCollection with:'cxternal'with:'library'.
+ 	linkerflags := OrderedCollection with:'linker' with:'flags'.
+ 	includedirectories := OrderedCollection with:'include' with:'directories'.!

Item was added:
+ ----- Method: CMakeVMPlugin>>linkerflags (in category 'accessing') -----
+ linkerflags
+ 
+ 	^ linkerflags!

Item was added:
+ ----- Method: CMakeVMPlugin>>linkerflags: (in category 'accessing') -----
+ linkerflags: anObject
+ 
+ 	linkerflags := anObject!

Item was added:
+ ----- Method: CMakeVMPlugin>>sources (in category 'accessing') -----
+ sources
+ 
+ 	^ sources!

Item was added:
+ ----- Method: CMakeVMPlugin>>sources: (in category 'accessing') -----
+ sources: anObject
+ 
+ 	sources := anObject!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMSoundALSA
- CMakeVMDriverWrapper subclass: #CMakeVMSoundALSA
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMSoundCustom
- CMakeVMDriverWrapper subclass: #CMakeVMSoundCustom
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMSoundMacOSX
- CMakeVMDriverWrapper subclass: #CMakeVMSoundMacOSX
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMSoundNAS
- CMakeVMDriverWrapper subclass: #CMakeVMSoundNAS
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMSoundNull
- CMakeVMDriverWrapper subclass: #CMakeVMSoundNull
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMSoundOSS
- CMakeVMDriverWrapper subclass: #CMakeVMSoundOSS
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was changed:
+ CMakeVMPlugin subclass: #CMakeVMSoundSun
- CMakeVMDriverWrapper subclass: #CMakeVMSoundSun
  	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-VMPlugins'!
- 	category: 'CMakeVMMakerSqueak-VMDriver'!

Item was changed:
  ----- Method: CPlatformConfigForSqueak>>addVMDrivers: (in category 'cmake buildType redirects') -----
  addVMDrivers: aMaker
+ 	"CMakeVMMaker compat"
+ 	self deprecated:'CMakeVMMaker holdover from pharo. use addVMPlugins: aMaker'.
+ 	^self addVMPlugins: aMaker
- 	"Route this message send to the message appropriate for my buildType "
- 	|d |
- 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
- 	d 
- 		at: #build put: [self addVMDriversBuild: aMaker];
- 		at: #buildAssert  put: [self addVMDriversBuildAssert: aMaker];
- 		at: #buildAssertITimerHeartbeat  put: [self addVMDriversBuildAssertITimerHeartbeat: aMaker];
-             at:#buildDebug  put: [self addVMDriversBuildDebug: aMaker];   
- 		at: #buildDebugITimerHeartbeat  put: [self addVMDriversBuildDebugITimerHeartbeat: aMaker ];
- 		at: #buildITimerHeartbeat  put: [self addVMDriversBuildITimerHeartbeat: aMaker];
- 		at: #buildMultiThreaded  put: [self addVMDriversBuildMultiThreaded: aMaker ];
- 		at: #buildMultiThreadedAssert  put: [self addVMDriversBuildMultiThreadedAssert: aMaker];
- 		at: #buildMultiThreadedDebug   put: [self addVMDriversBuildMultiThreadedDebug: aMaker ];
- 		at: #buildNone put:[self addVMDriversNoBuildType:  aMaker].
- 	^(d at: buildType) value
  !

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>addVMDriversBuild: (in category 'cmake buildType redirects') -----
- addVMDriversBuild: aMaker
- 	"SqueakUnixConfig browse"
- 	self subclassResponsibility.!

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>addVMDriversBuildAssert: (in category 'cmake buildType redirects') -----
- addVMDriversBuildAssert: aMaker
- 	"SqueakUnixConfig browse"
- 	self subclassResponsibility.!

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>addVMDriversBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
- addVMDriversBuildAssertITimerHeartbeat: aMaker
- 	"SqueakUnixConfig browse"
- 	self subclassResponsibility.!

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>addVMDriversBuildDebug: (in category 'cmake buildType redirects') -----
- addVMDriversBuildDebug: aMaker
- 	"SqueakUnixConfig browse"
- 	self subclassResponsibility.!

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>addVMDriversBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
- addVMDriversBuildDebugITimerHeartbeat: aMaker
- 	"SqueakUnixConfig browse"
- 	self subclassResponsibility.!

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>addVMDriversBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
- addVMDriversBuildITimerHeartbeat: aMaker
- 	"SqueakUnixConfig browse"
- 	self subclassResponsibility.!

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>addVMDriversBuildMultiThreaded: (in category 'cmake buildType redirects') -----
- addVMDriversBuildMultiThreaded: aMaker
- 	"SqueakUnixConfig browse"
- 	self subclassResponsibility.!

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>addVMDriversBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
- addVMDriversBuildMultiThreadedAssert: aMaker
- 	"SqueakUnixConfig browse"
- 	self subclassResponsibility.!

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>addVMDriversBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
- addVMDriversBuildMultiThreadedDebug: aMaker
- 	"SqueakUnixConfig browse"
- 	self subclassResponsibility.!

Item was removed:
- ----- Method: CPlatformConfigForSqueak>>addVMDriversNoBuildType: (in category 'cmake buildType redirects') -----
- addVMDriversNoBuildType: aMaker
- 	"SHOULD NOT GET HERE"
- 	self shouldNotImplement.
- !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>addVMPlugins: (in category 'cmake buildType redirects') -----
+ addVMPlugins: aMaker
+ 	"Route this message send to the message appropriate for my buildType "
+ 	|d |
+ 	d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy.
+ 	d 
+ 		at: #build put: [self addVMPluginsBuild: aMaker];
+ 		at: #buildAssert  put: [self addVMPluginsBuildAssert: aMaker];
+ 		at: #buildAssertITimerHeartbeat  put: [self addVMPluginsBuildAssertITimerHeartbeat: aMaker];
+             at:#buildDebug  put: [self addVMPluginsBuildDebug: aMaker];   
+ 		at: #buildDebugITimerHeartbeat  put: [self addVMPluginsBuildDebugITimerHeartbeat: aMaker ];
+ 		at: #buildITimerHeartbeat  put: [self addVMPluginsBuildITimerHeartbeat: aMaker];
+ 		at: #buildMultiThreaded  put: [self addVMPluginsBuildMultiThreaded: aMaker ];
+ 		at: #buildMultiThreadedAssert  put: [self addVMPluginsBuildMultiThreadedAssert: aMaker];
+ 		at: #buildMultiThreadedDebug   put: [self addVMPluginsBuildMultiThreadedDebug: aMaker ];
+ 		at: #buildNone put:[self addVMPluginsNoBuildType:  aMaker].
+ 	^(d at: buildType) value
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>addVMPluginsBuild: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuild: aMaker
+ 	self subclassResponsibility.!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>addVMPluginsBuildAssert: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuildAssert: aMaker
+ 	self subclassResponsibility.!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>addVMPluginsBuildAssertITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuildAssertITimerHeartbeat: aMaker
+ 	self subclassResponsibility.!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>addVMPluginsBuildDebug: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuildDebug: aMaker
+ 	self subclassResponsibility.!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>addVMPluginsBuildDebugITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuildDebugITimerHeartbeat: aMaker
+ 	"SqueakUnixConfig browse"
+ 	self subclassResponsibility.!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>addVMPluginsBuildITimerHeartbeat: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuildITimerHeartbeat: aMaker
+ 	self subclassResponsibility.!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>addVMPluginsBuildMultiThreaded: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuildMultiThreaded: aMaker
+ 	self subclassResponsibility.!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>addVMPluginsBuildMultiThreadedAssert: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuildMultiThreadedAssert: aMaker
+ 	self subclassResponsibility.!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>addVMPluginsBuildMultiThreadedDebug: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuildMultiThreadedDebug: aMaker
+ 	self subclassResponsibility.!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>addVMPluginsNoBuildType: (in category 'cmake buildType redirects') -----
+ addVMPluginsNoBuildType: aMaker
+ 	"SHOULD NOT GET HERE"
+ 	self shouldNotImplement.
+ !

Item was removed:
- ----- Method: Linux32ARMv6Config>>addVMDriversBuild: (in category 'cmake buildType redirects') -----
- addVMDriversBuild: aMaker
- 	aMaker message: 'addVMDrivers: aMaker'.
- 	 self 
- 		addDriver: 'vm-display-null' 
- 		sources: #( 
- 			'${targetPlatform}/vm-display-null/sqUnixDisplayNull' )
- 		generator: aMaker
- 		externalLibs: #();
- 		
- 		addDriver: 'vm-display-X11' 
- 		sources: #( 
- 			'${targetPlatform}/vm-display-X11/sqUnixX11'
- 			'${targetPlatform}/vm-display-X11/sqUnixMozilla' )
- 		generator: aMaker
- 		externalLibs: (self externalLibs);
- 
- 		addDriver: 'vm-sound-ALSA' 
- 		sources: #( 
- 			'${targetPlatform}/vm-sound-ALSA/sqUnixSoundALSA' )
- 		generator: aMaker
- 		externalLibs: #();
- 
- 		addDriver: 'vm-sound-null' 
- 		sources: #( 
- 			'${targetPlatform}/vm-sound-null/sqUnixSoundNull' )
- 		generator: aMaker
- 		externalLibs: #().
- !

Item was added:
+ ----- Method: Linux32ARMv6Config>>addVMPluginsBuild: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuild: aMaker
+ 	aMaker message: 'addVMDrivers: aMaker'.
+ 	 self 
+ 		addDriver: 'vm-display-null' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-display-null/sqUnixDisplayNull' )
+ 		generator: aMaker
+ 		externalLibs: #();
+ 		
+ 		addDriver: 'vm-display-X11' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-display-X11/sqUnixX11'
+ 			'${targetPlatform}/vm-display-X11/sqUnixMozilla' )
+ 		generator: aMaker
+ 		externalLibs: (self externalLibs);
+ 
+ 		addDriver: 'vm-sound-ALSA' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-sound-ALSA/sqUnixSoundALSA' )
+ 		generator: aMaker
+ 		externalLibs: #();
+ 
+ 		addDriver: 'vm-sound-null' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-sound-null/sqUnixSoundNull' )
+ 		generator: aMaker
+ 		externalLibs: #().
+ !

Item was changed:
  ----- Method: Linux32ARMv6Config>>setExtraTargetPropertiesBuild: (in category 'cmake buildType redirects') -----
  setExtraTargetPropertiesBuild: aMaker
  	self flag:'tty'. "I am nervous about this method up here in this class, but pharo has it in CogUnixConfig, so using as is for now"
  
  	aMaker setTargetProperties: 'LINK_FLAGS "-m32"'.
  		
  	aMaker puts: 'set_source_files_properties( ${srcVMDir}/cogit.c PROPERTIES 
  		COMPILE_FLAGS "-O1 -fno-omit-frame-pointer -momit-leaf-frame-pointer -mno-rtd -mno-accumulate-outgoing-args")'.
  		
  	
  	aMaker 
  		cmd: 'set_source_files_properties'
  		params: ' ${targetPlatform}/vm/sqUnixHeartbeat.c PROPERTIES 
  		COMPILE_FLAGS "-O1 -fno-omit-frame-pointer -mno-rtd -mno-accumulate-outgoing-args"'.
  	aMaker
  		cmd:'set_target_properties'
  		params: '${_name} PROPERTIES LINK_FLAGS "-undefined gl"'.
  
  
  	aMaker addExternalLibraries: 
  		#(
  			'uuid'  ""
  			'ssl'  ""
  			'crypto' ""
  			'm'  
  			'dl' 
  			'pthread' 
  		).
  					
  
  	aMaker set: 'EXECUTABLE_OUTPUT_PATH' toString: self outputDir fullName.
+ 	self addVMPlugins: aMaker.!
- 	self addVMDrivers: aMaker.!

Item was removed:
- ----- Method: Linux32x86Config>>addVMDriversBuild: (in category 'cmake buildType redirects') -----
- addVMDriversBuild: aMaker
- 	aMaker message: 'addVMDrivers: aMaker'.
- 	 self 
- 		addDriver: 'vm-display-null' 
- 		sources: #( 
- 			'${targetPlatform}/vm-display-null/sqUnixDisplayNull' )
- 		generator: aMaker
- 		externalLibs: #();
- 		
- 		addDriver: 'vm-display-X11' 
- 		sources: #( 
- 			'${targetPlatform}/vm-display-X11/sqUnixX11'
- 			'${targetPlatform}/vm-display-X11/sqUnixMozilla' )
- 		generator: aMaker
- 		externalLibs: (self externalLibs);
- 
- 		addDriver: 'vm-sound-ALSA' 
- 		sources: #( 
- 			'${targetPlatform}/vm-sound-ALSA/sqUnixSoundALSA' )
- 		generator: aMaker
- 		externalLibs: #();
- 
- 		addDriver: 'vm-sound-null' 
- 		sources: #( 
- 			'${targetPlatform}/vm-sound-null/sqUnixSoundNull' )
- 		generator: aMaker
- 		externalLibs: #().
- !

Item was added:
+ ----- Method: Linux32x86Config>>addVMPluginsBuild: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuild: aMaker
+ 	aMaker message: 'addVMDrivers: aMaker'.
+ 	 self 
+ 		addDriver: 'vm-display-null' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-display-null/sqUnixDisplayNull' )
+ 		generator: aMaker
+ 		externalLibs: #();
+ 		
+ 		addDriver: 'vm-display-X11' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-display-X11/sqUnixX11'
+ 			'${targetPlatform}/vm-display-X11/sqUnixMozilla' )
+ 		generator: aMaker
+ 		externalLibs: (self externalLibs);
+ 
+ 		addDriver: 'vm-sound-ALSA' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-sound-ALSA/sqUnixSoundALSA' )
+ 		generator: aMaker
+ 		externalLibs: #();
+ 
+ 		addDriver: 'vm-sound-null' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-sound-null/sqUnixSoundNull' )
+ 		generator: aMaker
+ 		externalLibs: #().
+ !

Item was changed:
  ----- Method: Linux32x86Config>>setExtraTargetPropertiesBuild: (in category 'cmake buildType redirects') -----
  setExtraTargetPropertiesBuild: aMaker
  	self flag:'tty'. "I am nervous about this method up here in this class, but pharo has it in CogUnixConfig, so using as is for now"
  
  	aMaker setTargetProperties: 'LINK_FLAGS "-m32"'.
  		
  	aMaker puts: 'set_source_files_properties( ${srcVMDir}/cogit.c PROPERTIES 
  		COMPILE_FLAGS "-O1 -fno-omit-frame-pointer -momit-leaf-frame-pointer -mno-rtd -mno-accumulate-outgoing-args")'.
  		
  	
  	aMaker 
  		cmd: 'set_source_files_properties'
  		params: ' ${targetPlatform}/vm/sqUnixHeartbeat.c PROPERTIES 
  		COMPILE_FLAGS "-O1 -fno-omit-frame-pointer -mno-rtd -mno-accumulate-outgoing-args"'.
  	aMaker
  		cmd:'set_target_properties'
  		params: '${_name} PROPERTIES LINK_FLAGS "-undefined gl"'.
  
  
  	aMaker addExternalLibraries: 
  		#(
  			'uuid'  ""
  			'ssl'  ""
  			'crypto' ""
  			'm'  
  			'dl' 
  			'pthread' 
  		).
  					
  
  	aMaker set: 'EXECUTABLE_OUTPUT_PATH' toString: self outputDir fullName.
+ 	self addVMPlugins: aMaker.!
- 	self addVMDrivers: aMaker.!

Item was removed:
- ----- Method: Linux64Config>>addVMDriversBuild: (in category 'cmake buildType redirects') -----
- addVMDriversBuild: aMaker
- 	aMaker message: 'addVMDrivers: aMaker'.
- 	 self 
- 		addDriver: 'vm-display-null' 
- 		sources: #( 
- 			'${targetPlatform}/vm-display-null/sqUnixDisplayNull' )
- 		generator: aMaker
- 		externalLibs: #();
- 		
- 		addDriver: 'vm-display-X11' 
- 		sources: #( 
- 			'${targetPlatform}/vm-display-X11/sqUnixX11'
- 			'${targetPlatform}/vm-display-X11/sqUnixMozilla' )
- 		generator: aMaker
- 		externalLibs: (self externalLibs);
- 
- 		addDriver: 'vm-sound-ALSA' 
- 		sources: #( 
- 			'${targetPlatform}/vm-sound-ALSA/sqUnixSoundALSA' )
- 		generator: aMaker
- 		externalLibs: #();
- 
- 		addDriver: 'vm-sound-null' 
- 		sources: #( 
- 			'${targetPlatform}/vm-sound-null/sqUnixSoundNull' )
- 		generator: aMaker
- 		externalLibs: #().
- !

Item was added:
+ ----- Method: Linux64Config>>addVMPluginsBuild: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuild: aMaker
+ 	aMaker message: 'addVMDrivers: aMaker'.
+ 	 self 
+ 		addDriver: 'vm-display-null' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-display-null/sqUnixDisplayNull' )
+ 		generator: aMaker
+ 		externalLibs: #();
+ 		
+ 		addDriver: 'vm-display-X11' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-display-X11/sqUnixX11'
+ 			'${targetPlatform}/vm-display-X11/sqUnixMozilla' )
+ 		generator: aMaker
+ 		externalLibs: (self externalLibs);
+ 
+ 		addDriver: 'vm-sound-ALSA' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-sound-ALSA/sqUnixSoundALSA' )
+ 		generator: aMaker
+ 		externalLibs: #();
+ 
+ 		addDriver: 'vm-sound-null' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-sound-null/sqUnixSoundNull' )
+ 		generator: aMaker
+ 		externalLibs: #().
+ !

Item was removed:
- ----- Method: Linux64x86w32BitConfig>>addVMDriversBuild: (in category 'cmake buildType redirects') -----
- addVMDriversBuild: aMaker
- 	|temp o|
- 	self flag:'tty'. "I am writing sub-directory CMakeLists.txt here. Should I also write the config.cmake files?"
- 	enabledebugmessages
- 		ifTrue: [templates  "this message will go to the top level CMakeLists.txt file"
- 				addLast: (CMakeMessage new message: self class name , 'addVMDriversBuild:')].
- 	vmdrivers do:[ :vmd |                    
- 		o := String new writeStream.   "each VMDriver gets its own CMakeLists.txt file."
- 		temp := OrderedCollection new.	
- 		temp
- 			addAllLast:((CMakeVMDriver new)     "<--confusing name. This is a CompositTemplate, not the CMakeVMDriverWrapper class"
- 					config: self 
- 					definitions: (vmd compilerdefinitions)
- 					driver: (vmd driver)
- 					sources: (vmd sources)
- 					includedirectories: (vmd includedirectories)).
- 		temp do: [:each |  o nextPutAll: (each content); cr].
- 
- 		(self buildDir) createDirectory: (vmd driver).
- "		(FileDirectory default) createDirectory: (self buildDir) , FileDirectory slash , vmd driver."
- 		self write: (o contents) toFile: vmd driver , FileDirectory slash , aMaker outputFileName.
- 		templates   "this will go to the top level CMakeLists.txt file"
- 			addLast: ((CMakeAddSubDirectory new) sourcedir: (vmd driver)) 
- 	].
- 
- 
- 
- 
- 
- 
- 
- 
- 
- !

Item was added:
+ ----- Method: Linux64x86w32BitConfig>>addVMPluginsBuild: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuild: aMaker
+ 	|temp o|
+ 	self flag:'tty'. "I am writing sub-directory CMakeLists.txt here. Should I also write the config.cmake files?"
+ 	enabledebugmessages
+ 		ifTrue: [templates  "this message will go to the top level CMakeLists.txt file"
+ 				addLast: (CMakeMessage new message: self class name , 'addVMDriversBuild:')].
+ 	vmdrivers do:[ :vmd |                    
+ 		o := String new writeStream.   "each VMDriver gets its own CMakeLists.txt file."
+ 		temp := OrderedCollection new.	
+ 		temp
+ 			addAllLast:((CMakeVMDriver new)     "<--confusing name. This is a CompositTemplate, not the CMakeVMDriverWrapper class"
+ 					config: self 
+ 					definitions: (vmd compilerdefinitions)
+ 					driver: (vmd driver)
+ 					sources: (vmd sources)
+ 					includedirectories: (vmd includedirectories)).
+ 		temp do: [:each |  o nextPutAll: (each content); cr].
+ 	"need a check exists here"
+ 		(self buildDir) createDirectory: (vmd driver).
+ "		(FileDirectory default) createDirectory: (self buildDir) , FileDirectory slash , vmd driver."
+ 		self write: (o contents) toFile: vmd driver , FileDirectory slash , aMaker outputFileName.
+ 		templates   "this will go to the top level CMakeLists.txt file"
+ 			addLast: ((CMakeAddSubDirectory new) sourcedir: (vmd driver)) 
+ 	].
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ !

Item was changed:
  ----- Method: Linux64x86w32BitConfig>>setExtraTargetPropertiesBuild: (in category 'cmake buildType redirects') -----
  setExtraTargetPropertiesBuild: aMaker
  
  	
  	aMaker addExternalLibraries: (self externalLibs).
  
  	aMaker set: 'EXECUTABLE_OUTPUT_PATH' toString: self outputDir fullName.
+ 	self addVMPlugins: aMaker.!
- 	self addVMDrivers: aMaker.!

Item was removed:
- ----- Method: SqueakBSDConfig>>addVMDriversBuild: (in category 'cmake buildType redirects') -----
- addVMDriversBuild: aMaker
- 	aMaker message: 'addVMDrivers: aMaker'.
- 	 self 
- 		addDriver: 'vm-display-null' 
- 		sources: #( 
- 			'${targetPlatform}/vm-display-null/sqUnixDisplayNull' )
- 		generator: aMaker
- 		externalLibs: #();
- 		
- 		addDriver: 'vm-display-X11' 
- 		sources: #( 
- 			'${targetPlatform}/vm-display-X11/sqUnixX11'
- 			'${targetPlatform}/vm-display-X11/sqUnixMozilla' )
- 		generator: aMaker
- 		externalLibs: (self externalLibs);
- 
- 		addDriver: 'vm-sound-ALSA' 
- 		sources: #( 
- 			'${targetPlatform}/vm-sound-ALSA/sqUnixSoundALSA' )
- 		generator: aMaker
- 		externalLibs: #();
- 
- 		addDriver: 'vm-sound-null' 
- 		sources: #( 
- 			'${targetPlatform}/vm-sound-null/sqUnixSoundNull' )
- 		generator: aMaker
- 		externalLibs: #().
- !

Item was added:
+ ----- Method: SqueakBSDConfig>>addVMPluginsBuild: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuild: aMaker
+ 	aMaker message: 'addVMDrivers: aMaker'.
+ 	 self 
+ 		addDriver: 'vm-display-null' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-display-null/sqUnixDisplayNull' )
+ 		generator: aMaker
+ 		externalLibs: #();
+ 		
+ 		addDriver: 'vm-display-X11' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-display-X11/sqUnixX11'
+ 			'${targetPlatform}/vm-display-X11/sqUnixMozilla' )
+ 		generator: aMaker
+ 		externalLibs: (self externalLibs);
+ 
+ 		addDriver: 'vm-sound-ALSA' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-sound-ALSA/sqUnixSoundALSA' )
+ 		generator: aMaker
+ 		externalLibs: #();
+ 
+ 		addDriver: 'vm-sound-null' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-sound-null/sqUnixSoundNull' )
+ 		generator: aMaker
+ 		externalLibs: #().
+ !

Item was removed:
- ----- Method: SqueakSunOS32x86Config>>addVMDriversBuild: (in category 'cmake buildType redirects') -----
- addVMDriversBuild: aMaker
- 	aMaker message: 'addVMDrivers: aMaker'.
- 	 self 
- 		addDriver: 'vm-display-null' 
- 		sources: #( 
- 			'${targetPlatform}/vm-display-null/sqUnixDisplayNull' )
- 		generator: aMaker
- 		externalLibs: #();
- 		
- 		addDriver: 'vm-display-X11' 
- 		sources: #( 
- 			'${targetPlatform}/vm-display-X11/sqUnixX11'
- 			'${targetPlatform}/vm-display-X11/sqUnixMozilla' )
- 		generator: aMaker
- 		externalLibs: (self externalLibs);
- 
- 		addDriver: 'vm-sound-ALSA' 
- 		sources: #( 
- 			'${targetPlatform}/vm-sound-ALSA/sqUnixSoundALSA' )
- 		generator: aMaker
- 		externalLibs: #();
- 
- 		addDriver: 'vm-sound-null' 
- 		sources: #( 
- 			'${targetPlatform}/vm-sound-null/sqUnixSoundNull' )
- 		generator: aMaker
- 		externalLibs: #().
- !

Item was added:
+ ----- Method: SqueakSunOS32x86Config>>addVMPluginsBuild: (in category 'cmake buildType redirects') -----
+ addVMPluginsBuild: aMaker
+ 	aMaker message: 'addVMDrivers: aMaker'.
+ 	 self 
+ 		addDriver: 'vm-display-null' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-display-null/sqUnixDisplayNull' )
+ 		generator: aMaker
+ 		externalLibs: #();
+ 		
+ 		addDriver: 'vm-display-X11' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-display-X11/sqUnixX11'
+ 			'${targetPlatform}/vm-display-X11/sqUnixMozilla' )
+ 		generator: aMaker
+ 		externalLibs: (self externalLibs);
+ 
+ 		addDriver: 'vm-sound-ALSA' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-sound-ALSA/sqUnixSoundALSA' )
+ 		generator: aMaker
+ 		externalLibs: #();
+ 
+ 		addDriver: 'vm-sound-null' 
+ 		sources: #( 
+ 			'${targetPlatform}/vm-sound-null/sqUnixSoundNull' )
+ 		generator: aMaker
+ 		externalLibs: #().
+ !



More information about the Vm-dev mailing list