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

commits at source.squeak.org commits at source.squeak.org
Sat Dec 6 19:29:23 UTC 2014


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

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

Name: CMakeVMMakerSqueak-tty.97
Author: tty
Time: 6 December 2014, 2:29:44.727 pm
UUID: 292a20c9-306f-497d-95d5-942356a2e97b
Ancestors: CMakeVMMakerSqueak-tty.96

SqueakMacOSXPowerPCConfig configureXYZPlugin methods converted to configureByTemplateXYZPlugin methods.

All tests pass.

next up MacOSX32x86, etc

=============== Diff against CMakeVMMakerSqueak-tty.96 ===============

Item was added:
+ CMakeTemplate subclass: #CMakeIfAddDefinitionsElseAddDefinitions
+ 	instanceVariableNames: 'condition ifdefinitions elsedefinitions'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-CMakeTemplates'!
+ 
+ !CMakeIfAddDefinitionsElseAddDefinitions commentStamp: 'tty 12/5/2014 15:20' prior: 0!
+ A CMakeIfAddDefinitionsElseAddDefinitions  looks something like this:
+ 
+ if (${WIN32})
+ 	add_definitions(-Werror-implicit-function-declaration)	
+ else(${WIN32})
+ 	add_definitions(-DNO_ISNAN)
+ endif (${WIN32})'.
+ 
+ CPlatformConfig>>configureFloatMathPlugin is the motivation
+ CMakePlatformConfigForSqueak>>configureByTemplateFilePlugin is where this is used!

Item was added:
+ ----- Method: CMakeIfAddDefinitionsElseAddDefinitions>>condition:ifdefinitions:elsedefinitions: (in category 'accessing') -----
+ condition: cString ifdefinitions:iString elsedefinitions:eString
+ 	condition:=cString.
+ 	ifdefinitions:= iString.
+ 	elsedefinitions:=eString
+ 	self content:'
+ IF(', condition ,')
+ 	 add_definitions(', ifdefinitions,')
+ ELSE(', condition ,')
+ 	 add_definitions(', elsedefinitions,')
+ ENDIF(', condition ,')'
+ !

Item was added:
+ ----- Method: CMakeIfAddDefinitionsElseAddDefinitions>>initialize (in category 'initialize-release') -----
+ initialize
+ 	condition:='foo'.
+       ifdefinitions:='-Wifbar'.
+ 	elsedefinitions:='-Welsebar'.
+ 	self content:'
+   IF(', condition ,')
+ 	 add_definitions(', ifdefinitions,')
+ ELSE(', condition ,')
+ 	 add_definitions(', elsedefinitions,')
+ ENDIF(', condition ,')'
+ 
+ !

Item was added:
+ CMakeTemplate subclass: #CMakeIfPluginDependencies
+ 	instanceVariableNames: 'plugin dependencies'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-CMakeCustomTemplates'!
+ 
+ !CMakeIfPluginDependencies commentStamp: 'tty 12/4/2014 16:46' prior: 0!
+ A CMakeIfPluginDependencies Template looks something like this:
+ 
+ 	'IF (MyPlugin_dependencies)	"set dependencies"
+ 		add_dependencies(MyPlugin ${MyPlugin_dependencies})
+ 	ENDIF (MyPlugin_dependencies)'.!

Item was added:
+ ----- Method: CMakeIfPluginDependencies>>dependencies (in category 'accessing') -----
+ dependencies
+  	^ String streamContents: [:stream | dependencies asStringOn: stream delimiter: ' ' ]!

Item was added:
+ ----- Method: CMakeIfPluginDependencies>>initialize (in category 'initialize-release') -----
+ initialize
+ 	plugin:= 'foo'.
+ 	dependencies:= OrderedCollection with: 'bar' with: 'nun'.
+ 	self content:'
+   IF(',plugin, '_dependencies)
+ 	 ADD_DEPENDENCIES(' , plugin, ' ' , self dependencies,')
+   ENDIF( ', plugin, '_dependencies)'
+ 
+ !

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

Item was added:
+ ----- Method: CMakeIfPluginDependencies>>plugin:dependencies: (in category 'initialize-release') -----
+ plugin: pString dependencies: anOrderedCollection
+ 	plugin:= pString.
+ 	dependencies:= anOrderedCollection.
+ 	self content:'
+   IF(',plugin, '_dependencies)
+ 	 ADD_DEPENDENCIES( ', plugin, ' ' , self dependencies,')
+   ENDIF( ', plugin, '_dependencies)'
+ !

Item was changed:
  ----- Method: CMakeListAppend>>list:elements: (in category 'accessing') -----
  list: aString elements: anObject
  	list:=aString.
  	elements := anObject.
+ 	self content:'  list( APPEND ', list, ' "' , self elements,  '")'
- 	self content:'  list( APPEND ', list, ' ' , self elements,  ')'
  	!

Item was changed:
  CMakeGenerator subclass: #CMakePluginGeneratorForSqueak
+ 	instanceVariableNames: 'plugin vmGen internal extraRules doNotGenerate externalDependencies configDotCMake templates'
- 	instanceVariableNames: 'plugin vmGen internal extraRules doNotGenerate externalDependencies configDotCMake'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'CMakeVMMakerSqueak'!
  
  !CMakePluginGeneratorForSqueak commentStamp: 'tty 7/8/2014 12:46' prior: 0!
  A CMakePluginGeneratorForSqueak overides some CMakeVMPluginGenerator methods for squeak compatibility. 
  
  I also add Dictionary for storing a plugins config.cmake file
  
  Instance Variables
  !

Item was changed:
  ----- Method: CMakePluginGeneratorForSqueak>>generate:for:internal:extraRules: (in category 'squeak compatibility') -----
  generate: aPlugin for: aCMakeVMGenerator internal: aBoolean extraRules: aBlock
  
  	doNotGenerate := false.
  	internal := aBoolean.
  	plugin := aPlugin.
  	vmGen := aCMakeVMGenerator.
  	extraRules := aBlock.
  		
+ 	^ self generateByTemplate!
- 	^ self generate!

Item was added:
+ ----- Method: CMakePluginGeneratorForSqueak>>generateByTemplate (in category 'squeak compatibility') -----
+ generateByTemplate
+ 	| name  |
+ 
+ 	output := String new writeStream.
+ 	name := plugin moduleName.
+ 	templates:= OrderedCollection new.
+       
+ 	templates
+ 		addLast:((CMakeMessage new) message: (internal ifTrue: [ 'Adding internal plugin: '] ifFalse: ['Adding external plugin: '])  , name);
+ 		addLast:((CMakeSet new) variable: #pluginName quotedValue: name);
+ 		addLast:((CMakeSet new) variable: #pluginSrc quotedValue:  '${srcPluginsDir}/', name);
+ 		addLast:((CMakeSet new) variable: #pluginCross quotedValue: '${crossDir}/plugins/', name );
+ 		addLast:((CMakeSet new) variable: #pluginPlatform quotedValue: '${targetPlatform}/plugins/', name );
+ 		addLast:((CMakeSet new) variable: #LINKLIBS value: '' ).  "clear LINKLIBS variable"
+ 	internal ifTrue: [ templates addLast:((CMakeAddDefinitions new) definitions: (OrderedCollection with: '-DSQUEAK_BUILTIN_PLUGIN' ))].
+       templates 
+ 		addLast:((CMakeListAppend new) list: 'sources' elements: (OrderedCollection with: '${pluginSrc}/', name , '.c' ));
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '${pluginSrc} ${pluginCross} ${targetPlatform}/plugins/${pluginName}'))." default include directories for plugin "
+ 	vmGen config configureByTemplatePlugin: plugin with: self. 
+ 	extraRules ifNotNil: [ extraRules value: self ].
+ 	" generate a static lib for internal plugin, or shared for external"
+ 	internal 
+ 		ifTrue: [	templates addLast:((CMakeAddLibrary new) library: name type: 'STATIC' sources: (OrderedCollection with: '${sources}'))]
+ 		ifFalse: [templates addLast:((CMakeAddLibrary new) library: name type: 'SHARED' sources: (OrderedCollection with: '${sources}'))].
+ 	vmGen config extraPluginSettings: self.   
+ 	self isExternal 
+ 		ifTrue: [	templates addLast:((CMakeTargetLinkLibraries new) target: self moduleName  items: (OrderedCollection with: '${LINKLIBS}'))].
+        templates
+ 		addLast:((CMakeSetProperty new) scope: 'TARGET ', name property: 'LINK_FLAGS' values: (OrderedCollection with: '${linkFlags}')); " see senders of #linkFlags "
+ 		addLast:((CMakeIfPluginDependencies new) plugin: self moduleName dependencies: (OrderedCollection with: ' ${', self moduleName , '_dependencies}')).
+ 	templates do: [:each | self puts: each content].
+ 	self saveFile.
+ 
+ 
+ !

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

Item was added:
+ ----- Method: CMakePluginGeneratorForSqueak>>templates: (in category 'accessing') -----
+ templates: anOrderedCollection
+ 	templates := anOrderedCollection!

Item was added:
+ CMakeTemplate subclass: #CMakeSetProperty
+ 	instanceVariableNames: 'scope append appendstring property values'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-CMakeTemplates'!
+ 
+ !CMakeSetProperty commentStamp: 'tty 12/4/2014 15:58' prior: 0!
+ cmake --help-command set_property
+ set_property
+ ------------
+ 
+ Set a named property in a given scope.
+ ::
+ 
+  set_property(<GLOBAL                            |
+                DIRECTORY [dir]                   |
+                TARGET    [target1 [target2 ...]] |
+                SOURCE    [src1 [src2 ...]]       |
+                TEST      [test1 [test2 ...]]     |
+                CACHE     [entry1 [entry2 ...]]>
+               [APPEND] [APPEND_STRING]
+               PROPERTY <name> [value1 [value2 ...]])
+ 
+ Set one property on zero or more objects of a scope.  The first
+ argument determines the scope in which the property is set.  It must
+ be one of the following:
+ 
+ GLOBAL scope is unique and does not accept a name.
+ 
+ DIRECTORY scope defaults to the current directory but another
+ directory (already processed by CMake) may be named by full or
+ relative path.
+ 
+ TARGET scope may name zero or more existing targets.
+ 
+ SOURCE scope may name zero or more source files.  Note that source
+ file properties are visible only to targets added in the same
+ directory (CMakeLists.txt).
+ 
+ TEST scope may name zero or more existing tests.
+ 
+ CACHE scope must name zero or more cache existing entries.
+ 
+ The required PROPERTY option is immediately followed by the name of
+ the property to set.  Remaining arguments are used to compose the
+ property value in the form of a semicolon-separated list.  If the
+ APPEND option is given the list is appended to any existing property
+ value.If the APPEND_STRING option is given the string is append to any
+ existing property value as string, i.e.  it results in a longer string
+ and not a list of strings.
+ !

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

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

Item was added:
+ ----- Method: CMakeSetProperty>>initialize (in category 'initialize-release') -----
+ initialize
+ 	scope:= '<GLOBAL | DIRECTORY [dir] |TARGET [target1 [target2 ...]] | SOURCE [src1 [src2 ...]] | TEST [test1 [test2 ...]] |CACHE [entry1 [entry2 ...]]>'.
+ 	append  := ''.
+       appendstring:=''.
+ 	property := '<name>'.
+ 	values := OrderedCollection  with: '[value1' with: '[value2...' with:']]' .
+ 	self content:'  set_property(',self scope , ' PROPERTY ',   self property , ' ' ,self values,')'!

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

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

Item was added:
+ ----- Method: CMakeSetProperty>>scope:append:property:values: (in category 'accessing') -----
+ scope: sString  append: aString property: pString values: anOrderedCollection
+ 	scope := sString.
+       append:= aString. "should this be aBoolean and then force append :=APPEND"
+ 	property:= pString.
+ 	values:= anOrderedCollection.
+ 	self content:'  set_property(',self scope , ' ',  self append , ' PROPERTY ', self property , ' ' self values,')'
+ !

Item was added:
+ ----- Method: CMakeSetProperty>>scope:appendString:property:values: (in category 'accessing') -----
+ scope: sString  appendString: aString property: pString values: anOrderedCollection
+ 	scope := sString.
+       appendstring:= aString.   "should this be aBoolean and then force appendstring:=APPEND_STRING"
+ 	property:= pString.
+ 	values:= anOrderedCollection.
+ 	self content:'  set_property(',self scope , ' ',  self appendstring , ' PROPERTY ', self property , ' ' self values,')'
+ !

Item was added:
+ ----- Method: CMakeSetProperty>>scope:property:values: (in category 'accessing') -----
+ scope: sString  property: pString values: anOrderedCollection
+ 	scope := sString.
+ 	property:= pString.
+ 	values:= anOrderedCollection.
+ 	self content:'  set_property(',self scope , ' PROPERTY ',   self property , ' ', self values,')'
+ !

Item was added:
+ ----- Method: CMakeSetProperty>>values (in category 'accessing') -----
+ values
+  	^ String streamContents: [:stream | values asStringOn: stream delimiter: ' ' ]!

Item was changed:
  ----- Method: CMakeVMMakerSqueakRedirectMethodsWithArgTest>>testExtraPluginSettings (in category 'as yet unclassified') -----
  testExtraPluginSettings
  	self flag:'tty'. "Is the self shouldnt sufficient?"
  	#(#SqueakMacintoshConfig #SqueakUnixConfig #SqueakWindowsConfig ) 
  		do:[:each | 
  			(Smalltalk at:each) 
  				allSubclassesDo:[:configuration | | o buildTypes vmGenerator pluginGenerator|
  					o:= configuration basicNew.
  					(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).
  								pluginGenerator := CMakePluginGeneratorForSqueak new.
  								pluginGenerator vmGenerator: vmGenerator.
  								pluginGenerator isInternal: false.
  								pluginGenerator output:(String new writeStream).
+ 								pluginGenerator templates: OrderedCollection new.
  								self shouldnt: [o extraPluginSettings: pluginGenerator] raise: Error]]]].
  !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateB3DAcceleratorPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateB3DAcceleratorPlugin: aMaker
+ 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '$(pluginCross)/sqOpenGLRenderer.c'))
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateBitBltSimulation: (in category 'plugin extra rules') -----
+ configureByTemplateBitBltSimulation: aMaker
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '${pluginCross}'));
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '$(pluginCross)/BitBltGeneric.c'));
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '$(pluginCross)/BitBltDispatch.c'))
+ 
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateBochsIA32Plugin: (in category 'plugin extra rules') -----
+ configureByTemplateBochsIA32Plugin: aMaker
+ 
+ 	"this stuff is not ready for use yet" 
+ 	
+ " 	maker addCrossSources:
+ 		#( 'sqBochsIA32Plugin.cpp'  )
+ 
+ "
+ 	aMaker doNotGenerate:true
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateCroquetPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateCroquetPlugin: aMaker 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '$(pluginCross)/TriBoxStub.c'))
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateFFIPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateFFIPlugin: aMaker
+ 	self flag:'tty'. "comment below is from pharo code. I have no idea at the moment."
+ 	" it is incomplete right now, because in Cog this plugin are not used anymore"
+ 	aMaker doNotGenerate: true.
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '$(pluginCross)/sqFFIPlugin.c')).
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateFilePlugin: (in category 'plugin extra rules') -----
+ configureByTemplateFilePlugin: aMaker
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '$(pluginCross)/sqFilePluginBasicPrims.c'))
+ 
+ 
+ 
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateFloatMathPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateFloatMathPlugin: aMaker
+       |cfiles pfiles|
+ 	cfiles:= #(
+ 		'acos.c' 'acosh.c' 'asin.c' 'asinh.c' 'atan.c' 'atan2.c' 'atanh.c'
+ 		'copysign.c' 'cos.c' 'cosh.c' 'exp.c' 'expm1.c' 'finite.c' 'fmod.c'
+ 		'hypot.c' 'isnan.c' 'k_cos.c' 'k_rem_pio2.c' 'k_sin.c' 'k_tan.c' 'ldexp.c'
+ 		'log.c' 'log10.c' 'log1p.c' 'modf.c' 'pow.c' 'rem_pio2.c' 'rint.c'
+ 		'scalb.c' 'scalbn.c' 'sin.c' 'sinh.c' 'sqrt.c' 'tan.c' 'tanh.c' ).
+ 	pfiles:=OrderedCollection new.  "Anybody who knows how to do this elegantly, please change this"
+ 	cfiles do:[:each | pfiles addLast:('$(pluginCross)/', each)].
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: pfiles);
+ 		addLast:((CMakeAddDefinitions new) definitions: (OrderedCollection with: '-O0')).  "See Note 1."
+ 	self isLittleEndian 
+ 		ifTrue: [
+ 			aMaker templates 
+ 				addLast:((CMakeAddDefinitions new) definitions: (OrderedCollection with:'-D__LITTLE_ENDIAN=1' ))].  "See Note 2."
+ 
+ 	aMaker templates "See Note 3."
+ 		addLast:((CMakeIfAddDefinitionsElseAddDefinitions new) 
+ 					condition:'${WIN32}' 
+ 					ifdefinitions:'-Werror-implicit-function-declaration'
+ 					elsedefinitions:'-DNO_ISNAN')
+ 
+ "
+ Note 1. according to http://www.netlib.org/fdlibm/readme	it should be compiled with no optimizations
+ 
+ Note 2. compile with -D__LITTLE_ENDIAN	This macro is set automatically in fdlibm.h when compiled ith -m32 but
+ 		not when compiled with -m64 (Nicolas Cellier)
+ 
+ Note 3. 	It may be better to push these down to SqueakMacintoshConfig, SqueakUnixConfig, SqueakWindowsConfig.
+ I think it is clearer here.
+ 
+ In the mean time this template outputs the following:
+ 
+ if (${WIN32})
+ 	add_definitions(-Werror-implicit-function-declaration)	<---push down to SqueakWindowsConfig
+ else(${WIN32})
+ 	add_definitions(-DNO_ISNAN)                                        <---push down to SqueakUnix/MacConfigs
+ endif (${WIN32})'.
+ 
+ "!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateIA32ABIPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateIA32ABIPlugin: aMaker
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '$(pluginCross)/ia32abicc.c')).
+ 
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateJPEGReadWriter2Plugin: (in category 'plugin extra rules') -----
+ configureByTemplateJPEGReadWriter2Plugin: aMaker 
+       |cfiles pfiles|
+ 	cfiles:=  #('Error.c' 'jcapimin.c' 'jcapistd.c' 'jccoefct.c' 'jccolor.c' 'jcdctmgr.c' 
+                        'jchuff.c' 'jcinit.c' 'jcmainct.c' 'jcmarker.c' 'jcmaster.c' 'jcomapi.c'  'jcparam.c' 
+                        'jcphuff.c' 'jcprepct.c' 'jcsample.c' 'jctrans.c' 'jdapimin.c' 'jdapistd.c'
+                        'jdatadst.c' 'jdatasrc.c' 'jdcoefct.c' 'jdcolor.c' 'jddctmgr.c' 'jdhuff.c'
+                        'jdinput.c' 'jdmainct.c' 'jdmarker.c' 'jdmaster.c' 'jdmerge.c' 'jdphuff.c' 'jdpostct.c'
+                        'jdsample.c' 'jdtrans.c' 'jerror.c' 'jfdctflt.c' 'jfdctfst.c' 'jfdctint.c'
+                        'jidctflt.c' 'jidctfst.c' 'jidctint.c' 'jidctred.c' 'jmemdatadst.c' 'jmemdatasrc.c'
+                        'jmemmgr.c' 'jmemnobs.c' 'jquant1.c' 'jquant2.c' 'jutils.c' ) .
+ 	pfiles:=OrderedCollection new.  "Anybody who knows how to do this elegantly, please change this"
+ 	cfiles do:[:each | pfiles addLast:('$(pluginCross)/', each)].
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: pfiles).
+ 
+ 
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateMpeg3Plugin: (in category 'plugin extra rules') -----
+ configureByTemplateMpeg3Plugin: aMaker
+       |cfiles pfiles|
+ 	cfiles:=#( 'libmpeg/bitstream.c' 'libmpeg/changesForSqueak.c'	'libmpeg/audio/dct.c' 
+      'libmpeg/video/getpicture.c' 'libmpeg/audio/header.c' 'libmpeg/video/headers.c' 
+      'libmpeg/video/idct.c' 'libmpeg/audio/layer1.c' 'libmpeg/audio/layer2.c' 
+      'libmpeg/audio/layer3.c' 'libmpeg/libmpeg3.c' 'libmpeg/video/macroblocks.c' 
+      'libmpeg/video/mmxtest.c' 'libmpeg/video/motion.c' 'libmpeg/mpeg3atrack.c' 
+      'libmpeg/audio/mpeg3audio.c' 'libmpeg/mpeg3demux.c' 'libmpeg/mpeg3io.c'
+      'libmpeg/mpeg3title.c' 'libmpeg/video/mpeg3video.c' 'libmpeg/mpeg3vtrack.c'
+      'libmpeg/video/output.c' 'libmpeg/audio/pcm.c' 'libmpeg/video/reconstruct.c'
+      'libmpeg/video/seek.c' 'libmpeg/video/slice.c' 'libmpeg/audio/synthesizers.c'
+      'libmpeg/audio/tables.c' 'libmpeg/video/vlc.c' ).
+ 	pfiles:=OrderedCollection new.  "Anybody who knows how to do this elegantly, please change this"
+ 	cfiles do:[:each | pfiles addLast:('$(pluginCross)/', each)].
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '${pluginCross}/libmpeg ${pluginCross}/libmpeg/audio ${pluginCross}/libmpeg/video'));
+ 		addLast:((CMakeListAppend new) list:'sources' elements: pfiles).
+ 
+ 	
+ 	
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplatePlugin:with: (in category 'source generation') -----
+ configureByTemplatePlugin: aPlugin with: generator
+ 	"by-pass the pharo's CPlatformConf>>configurePlugin: with: so that I can use templates"
+ 	^ self perform: ( 'configureByTemplate' , aPlugin name , ':' ) asSymbol with: generator.
+ 	!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateRePlugin: (in category 'plugin extra rules') -----
+ configureByTemplateRePlugin: aMaker 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) 
+ 			list:'sources' 
+ 			elements: (OrderedCollection 
+ 						with: '$(pluginCross)/pcre.c'
+ 						with: '$(pluginCross)/study.c'
+ 						with: '$(pluginCross)/get.c'
+ 						with: '$(pluginCross)/chartables.c'))
+ 
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateReentrantIA32FFIPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateReentrantIA32FFIPlugin: aMaker
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) 
+ 			list:'sources' 
+ 			elements: (OrderedCollection 
+ 						with: '$(pluginCross)/sqFFIPlugin.c'
+ 						with: '$(pluginCross)/sqFFITestFuncs.c'
+ 						with: '$(pluginCross)/sqManualSurface.c')).
+ 
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateSoundCodecPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSoundCodecPlugin: aMaker
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) 
+ 			list:'sources' 
+ 			elements: (OrderedCollection 	with: '$(pluginCross)/sqSoundCodecPluginBasicPrims.c')).
+ 
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateSoundGenerationPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSoundGenerationPlugin: aMaker 
+ 	aMaker doNotGenerate: true. 
+ 	"From Pharo comment:  The sources in platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c 
+ 	are out of date and need to be fixed before it can be built 
+ 	
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '$(pluginCross)/sqOldSoundPrims.c'));
+ 	"!

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateSurfacePlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSurfacePlugin: aMaker 
+ 	aMaker templates
+ 			addLast:((CMakeSet new) variable: #sources value: '');"remove default source file"
+ 			addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '$(pluginCross)/SurfacePlugin.c')).
+ 
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateThreadedIA32FFIPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateThreadedIA32FFIPlugin: aMaker
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) 
+ 			list:'sources' 
+ 			elements: (OrderedCollection 
+ 						with: '$(pluginCross)/sqFFIPlugin.c'
+ 						with: '$(pluginCross)/sqFFITestFuncs.c'
+ 						with: '$(pluginCross)/sqManualSurface.c')).
+ 
+ !

Item was added:
+ ----- Method: CPlatformConfigForSqueak>>configureByTemplateUnixOSProcessPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateUnixOSProcessPlugin: aMaker
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '${crossDir}/plugins/FilePlugin'));
+ 		addLast:((CMakeSet new) variable: #linkFlags value: '-undefined dynamic_lookup').  	"THIS IS UGLY AND LAME!!!!!! (comment from Pharo code)"
+ 
+ !

Item was changed:
  ----- Method: Linux32ARMv6Config>>extraPluginSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraPluginSettingsBuild: aMaker
+ 	aMaker isExternal 
+ 		ifTrue:[aMaker templates addLast:((CMakeSet new) variable:'LIBRARY_OUTPUT_PATH' value:'${outputDir}')].
+ 
+ 
- extraPluginSettingsBuild: maker
- 	maker isExternal ifTrue: [
- 		"copy lib to results dir "
- 		maker set: 'LIBRARY_OUTPUT_PATH' to: '${outputDir}' 
- 	].
  !

Item was changed:
  ----- Method: Linux32x86Config>>extraPluginSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraPluginSettingsBuild: aMaker
+ 	aMaker isExternal 
+ 		ifTrue:[aMaker templates addLast:((CMakeSet new) variable:'LIBRARY_OUTPUT_PATH' value:'${outputDir}')].
+ 
- extraPluginSettingsBuild: maker
- 	maker isExternal ifTrue: [
- 		"copy lib to results dir "
- 		maker set: 'LIBRARY_OUTPUT_PATH' to: '${outputDir}' 
- 	].
  !

Item was changed:
  ----- Method: Linux64x86w32BitConfig>>extraPluginSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraPluginSettingsBuild: aMaker
+ 	aMaker isExternal 
+ 		ifTrue:[aMaker templates addLast:((CMakeSet new) variable:'LIBRARY_OUTPUT_PATH' value:'${outputDir}')].
+ 	aMaker templates addLast:((CMakeSet new) variable:'linkFlags' quotedValue:'${linkFlags} -m32').
+ 
+ 
+ "	maker isExternal ifTrue: [
- extraPluginSettingsBuild: maker
- 	self flag:'tty'. "this dumps the libs into the executable's directory. This breaks the distribution convention squeak has had for a while. However, we probably should handle that in a packaging/redistribution step and not worry about it now" 
- 	maker isExternal ifTrue: [
- 		"copy lib to outputDir "
  		maker set: 'LIBRARY_OUTPUT_PATH' to: '${outputDir}' 
  	].
+ 	maker set: #linkFlags toString: '${linkFlags} -m32'"!
- 	maker set: #linkFlags toString: '${linkFlags} -m32'!

Item was changed:
  ----- Method: SqueakBSDConfig>>extraPluginSettingsBuild: (in category 'cmake buildType redirects') -----
+ extraPluginSettingsBuild: aMaker
+ 	aMaker isExternal 
+ 		ifTrue:[aMaker templates addLast:((CMakeSet new) variable:'LIBRARY_OUTPUT_PATH' value:'${outputDir}')].
+ 
- extraPluginSettingsBuild: maker
- 	maker isExternal ifTrue: [
- 		"copy lib to results dir "
- 		maker set: 'LIBRARY_OUTPUT_PATH' to: '${outputDir}' 
- 	].
  !

Item was added:
+ ----- Method: SqueakIOSConfig>>configureByTemplateB3DAcceleratorPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateB3DAcceleratorPlugin: aMaker
+ 	self flag:'tty'. "consider portablility of /user/X11/include"
+ 	super configureByTemplateB3DAcceleratorPlugin: aMaker.  
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '/usr/X11/include')); "for GL.h  <--tty. I don't think this is portable. Revisit on refactor"
+ 		addLast:((CMakeListAppend new) 
+ 				list:'sources' 
+ 				elements: (OrderedCollection 
+ 					with: '${pluginPlatform}/sqMacOpenGL.c'  
+ 					with: '${pluginPlatform}/sqMacOpenGLInfo.c')).
+ 
+ !

Item was added:
+ ----- Method: SqueakIOSConfig>>configureByTemplateCroquetPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateCroquetPlugin: aMaker 
+ 
+ 	super configureByTemplateCroquetPlugin: aMaker.  
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqMacCroquet.c')).
+ 
+ !

Item was removed:
- ----- Method: SqueakIOSConfig>>configureClipboardExtendedPlugin: (in category 'plugin extra rules') -----
- configureClipboardExtendedPlugin: maker
- 	!

Item was changed:
  ----- Method: SqueakIOSConfig>>extraPluginSettingsBuild: (in category 'cmake buildType redirects') -----
  extraPluginSettingsBuild: aMaker	
+      self flag: 'tty'. "I have no idea what this stuff is for. DO NOT take it as the work of somebody who does (:" 
+ 	aMaker templates 
+ 		addLast:((CMakeSet new) variable:'CMAKE_OSX_ARCHITECTURES' value:'i386');
+ 	     addLast:((CMakeSetTargetProperties new) 
+ 			target: aMaker moduleName 
+ 			propertiesandvalues: (OrderedCollection with: 'COMPILE_FLAGS   "-include \"', (self buildDir / self prefixHeaderFileName) fullName, '\""' )) .
+ 	aMaker isExternal 
+ 		ifTrue:[
+ 			aMaker templates 
+ 				addLast:((CMakeSet new) variable:'LIBRARY_OUTPUT_PATH' value:'${outputDir}');
+ 				addLast:((CMakeSet new) variable:'EXECUTABLE_OUTPUT_PATH' value: self outputDir fullName);
+ 				addLast:((CMakeListAppend new) list: 'linkFlags' elements:  (OrderedCollection with: '-undefined dynamic_lookup' ))].
+ 	aMaker templates
+ 		addLast:((CMakeSetTargetProperties new) 
+ 			target: aMaker moduleName 
+ 			propertiesandvalues: (OrderedCollection with: 'GCC_PREFIX_HEADER   ${buildDir}/' , self executableName , '_Prefix.pch' )) .
- 	aMaker set: 'CMAKE_OSX_ARCHITECTURES' to: 'i386'.
- 	
- 	aMaker 
- 		setTargetProperty: 'COMPILE_FLAGS' 
- 		to: '"-include \"', (self buildDir / self prefixHeaderFileName) fullName, '\""'.  
  
+ 
+ 
+ 
- 	aMaker isExternal ifTrue: [
- 		"copy result to results dir "
- 		
- 		aMaker set: 'LIBRARY_OUTPUT_PATH' toString: self outputDir fullName.
- 		aMaker set: 'EXECUTABLE_OUTPUT_PATH' toString: self outputDir fullName.
- 		aMaker puts: 'list(APPEND linkFlags "-undefined dynamic_lookup")' ].
  	
- 	"maker addXCodeProperty: 'GCC_VERSION' value: '4.3'."
- 	aMaker addXCodeProperty: 'GCC_PREFIX_HEADER' value: '${buildDir}/' , self executableName , '_Prefix.pch'.
- 	
  !

Item was removed:
- ----- Method: SqueakMacOSX32x86Config>>configureClipboardExtendedPlugin: (in category 'plugin extra rules') -----
- configureClipboardExtendedPlugin: maker
- 	!

Item was changed:
  ----- Method: SqueakMacOSX32x86Config>>extraPluginSettingsBuild: (in category 'cmake buildType redirects') -----
  extraPluginSettingsBuild: aMaker
  	"Cog currently runs only in 32 bit mode" 
+ 	self flag: 'tty'. "adapted from pharo code. I have no idea if this is appropriate for this platform"
+ 	aMaker templates 
+ 		addLast:((CMakeSet new) variable:'CMAKE_OSX_ARCHITECTURES' value: 'i386')
+ !
- 	self flag: 'tty'. "cut-n-paste from pharo code. I have no idea if this is appropriate for this platform"
- 	aMaker set: 'CMAKE_OSX_ARCHITECTURES' to: 'i386'!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateB3DAcceleratorPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateB3DAcceleratorPlugin: aMaker
+ 	self flag:'tty'. "Consider portability of the include below"
+ 	super configureByTemplateB3DAcceleratorPlugin: aMaker.  
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '/usr/X11/include'));   "for GL.h <--tty portability problem?"
+ 		addLast:((CMakeListAppend new) 
+ 			list:'sources' 
+ 			elements: (OrderedCollection 
+ 				with: '${pluginPlatform}/sqMacOpenGL.c'
+ 				with: '${pluginPlatform}/sqMacOpenGLInfo.c')).
+ 
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateCroquetPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateCroquetPlugin: aMaker 
+ 	super configureByTemplateCroquetPlugin: aMaker.  
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqMacCroquet.c'))
+ 
+ 
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateFFIPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateFFIPlugin: aMaker
+ 	super configureByTemplateFFIPlugin: aMaker.
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) 
+ 			list:'sources' 
+ 			elements: (OrderedCollection 
+ 				with: '${pluginPlatform}/x86-sysv-MacIntel.c'
+ 				with: '${pluginPlatform}/x86-sysv-asm-MacIntel.S')).
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateFT2Plugin: (in category 'plugin extra rules') -----
+ configureByTemplateFT2Plugin: aMaker
+ 	| lib |
+ 	self flag:'tty'. "is internalFT2 still not supported?"
+ 	aMaker isExternal ifFalse: [self error: 'building internal FT2Plugin is not supported yet' ]. 	
+ 	self flag:'tty'. "I haven't been down the addThirdpartyLibrary rabbit hole yet"
+ 	lib := self addThirdpartyLibrary: 'freetype2'.
+ 	aMaker templates   	"link plugin with freetype lib"
+ 		addLast:((CMakeListAppend new) list:'LINKLIBS' elements: (OrderedCollection with:  (lib targetForLinking)));
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: lib includeDir)).
+ 
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateInternetConfigPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateInternetConfigPlugin: aMaker
+ 	self flag:'tty'. "pharo's configureInternetConfigPlugin has a super call to an empty method that I omit here. "
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqMacInternetConfiguration.c')).
+ 
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateJoystickTabletPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateJoystickTabletPlugin: aMaker 
+ 	self flag:'tty'. "pharo's configureJoystickTabletPlugin has a super call to an empty method that I omit here. "
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) 
+ 			list:'sources' 
+ 			elements: (OrderedCollection 
+ 					with: '${pluginPlatform}/HID_Error_Handler.c'
+ 					with: '${pluginPlatform}/HID_Name_Lookup.c'
+ 					with: '${pluginPlatform}/HID_Queue_Utilities.c'
+ 					with: '${pluginPlatform}/HID_Utilities.c'
+ 					with: '${pluginPlatform}/sqMacJoystickAndTablet.c')).
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateLocalePlugin: (in category 'plugin extra rules') -----
+ configureByTemplateLocalePlugin: aMaker 
+ 	self flag:'tty'. "pharo's configureLocalePlugin: has a super call to an empty method that I omit here. "
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqMacLocaleCarbon.c'))
+ 
+ 
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateMIDIPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateMIDIPlugin: aMaker 
+ 	self flag:'tty'. "pharo's configureMIDIPlugin: has a super call to an empty method that I omit here. "
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqMacMIDI.c')).
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateMpeg3Plugin: (in category 'plugin extra rules') -----
+ configureByTemplateMpeg3Plugin: aMaker
+ 
+ 	super configureByTemplateMpeg3Plugin: aMaker.
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqMacFileBits.c'))
+ 
+ 	
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateObjectiveCPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateObjectiveCPlugin: aMaker
+ 	aMaker doNotGenerate: true!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateQuicktimePlugin: (in category 'plugin extra rules') -----
+ configureByTemplateQuicktimePlugin: aMaker
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new)  
+ 			dirs: (OrderedCollection 	
+ 					 with: '${pluginPlatform}'
+ 					 with: '${crossDir}/plugins/SurfacePlugin'));
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqMacQuicktimeInteface.c')). 
+            " not a typo , a file is named 'inteface' instead of 'interface' "
+ 	aMaker addFrameworksByTemplate: #( 'Carbon' 'QuickTime' ) maker: aMaker.!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateSecurityPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSecurityPlugin: aMaker 
+ 	self flag:'tty'. "pharo's configureSecurityPlugin: has a super call to an empty method that I omit here. "
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '${crossDir}/plugins/FilePlugin'));
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqMacSecurity.c')).
+ 
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateSerialPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSerialPlugin: aMaker 
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with:  '${platformsDir}/unix/plugins/SerialPlugin' ));
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${platformsDir}/unix/plugins/SerialPlugin/sqUnixSerial.c'))
+ 
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateSocketPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSocketPlugin: aMaker 
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '${platformsDir}/unix/plugins/SocketPlugin'));
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${platformsDir}/unix/plugins/SocketPlugin/sqUnixSocket.c')).
+ 
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateSoundGenerationPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSoundGenerationPlugin: maker 
+ 	maker doNotGenerate: true. 
+ 	"pharo code comment:  The sources in platforms/Cross/plugins/SoundGenerationPlugin/sqOldSoundPrims.c 
+ 	are out of date and need to be fixed before it can be built 
+ 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '$(pluginCross)/sqOldSoundPrims.c'));
+ 	"
+ !

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateTestOSAPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateTestOSAPlugin: aMaker
+ 	aMaker addFrameworksByTemplate: #( 'Carbon'  'ApplicationServices' ).!

Item was added:
+ ----- Method: SqueakMacOSXPowerPCConfig>>configureByTemplateUnixOSProcessPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateUnixOSProcessPlugin: aMaker 
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '${crossDir}/plugins/FilePlugin')).
+ !

Item was removed:
- ----- Method: SqueakMacOSXPowerPCConfig>>configureClipboardExtendedPlugin: (in category 'plugin extra rules') -----
- configureClipboardExtendedPlugin: maker
- 	!

Item was added:
+ ----- Method: SqueakMacintoshConfig>>addFrameworksByTemplate:maker: (in category 'cmake') -----
+ addFrameworksByTemplate: aCollection maker: aMaker
+ 	"for mac only "
+ 	self flag:'tty'. "TODO: replace the CMakeCommand with CMakeFindLibrary. cmake --help-command find_library"
+ 	aCollection
+ 		do: [:each | 
+ 			aMaker templates
+ 				addLast:((CMakeCommand new) command: 'find_library' params:each , '_FMWK ', each );
+ 				addLast:((CMakeListAppend new) list:'LINKLIBS' elements: (OrderedCollection with: '${', each , '_FMWK}'))]!

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateAsynchFilePlugin: (in category 'plugin extra rules') -----
+ configureByTemplateAsynchFilePlugin: aMaker
+ 	aMaker templates addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixAsynchFile.c'))
+ 
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateB3DAcceleratorPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateB3DAcceleratorPlugin: aMaker
+ 	super configureByTemplateB3DAcceleratorPlugin: aMaker.  
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixOpenGL.c'))
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateDropPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateDropPlugin: aMaker
+ 
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '${crossDir}/plugins/FilePlugin'));
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixDragDrop.c'))
+ 
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateFT2Plugin: (in category 'plugin extra rules') -----
+ configureByTemplateFT2Plugin: aMaker 
+ 	self flag: 'tty'. "See portability comment below"
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'LINKLIBS' elements: (OrderedCollection with: 'freetype'));
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '/usr/include/freetype2')). "<---THIS IS NOT PORTABLE.."
+ 
+ "On a refactoring pass, the 'cmake .' commmand should be able to dig this library up generically and the argument to with: can be a variable"
+ 
+ 	
+ 	!

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateFileCopyPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateFileCopyPlugin: aMaker
+ 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixFileCopyPlugin.c'))
+ 
+ 
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateFilePlugin: (in category 'plugin extra rules') -----
+ configureByTemplateFilePlugin: aMaker
+ 	super configureByTemplateFilePlugin: aMaker.
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixFile.c'))
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateInternetConfigPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateInternetConfigPlugin: aMaker
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixInternetConfiguration.c'))
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateJoystickTabletPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateJoystickTabletPlugin: aMaker 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixJoystickTablet.c'))
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateLocalePlugin: (in category 'plugin extra rules') -----
+ configureByTemplateLocalePlugin: aMaker 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixLocale.c'))	
+ 
+ 	!

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateMIDIPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateMIDIPlugin: aMaker 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixMIDI.c'))
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateSecurityPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSecurityPlugin: aMaker 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixSecurity.c'))
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateSerialPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSerialPlugin: aMaker 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixSerial.c'))
+ 	
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateSocketPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSocketPlugin: aMaker 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixSocket.c'))
+ 	
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateSoundPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSoundPlugin: aMaker 
+ 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixSound.c'));
+ 		addLast:((CMakeListAppend new) list:'LINKLIBS' elements: (OrderedCollection with: 'asound'))
+ 
+ 	
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateSqueakSSLPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateSqueakSSLPlugin: aMaker 
+ 	aMaker templates 
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixOpenSSL.c'));
+ 		addLast:((CMakeListAppend new) list:'LINKLIBS' elements: (OrderedCollection with: 'ssl'))
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateUUIDPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateUUIDPlugin: aMaker 
+ 	self flag: 'tty'.
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '/usr/include/uuid')); "<---THIS IS NOT PORTABLE.."
+ 		addLast:((CMakeListAppend new) list:'sources' elements: (OrderedCollection with: '${pluginPlatform}/sqUnixUUID.c'))
+ 
+ "On a refactoring pass, the 'cmake .' commmand should be able to dig this library up generically and the argument to with: can be a variable"
+ 
+ 	
+ !

Item was added:
+ ----- Method: SqueakUnixConfig>>configureByTemplateUnixOSProcessPlugin: (in category 'plugin extra rules') -----
+ configureByTemplateUnixOSProcessPlugin: aMaker 
+ 	super configureByTemplateUnixOSProcessPlugin: aMaker.
+ 	aMaker templates 
+ 		addLast: ((CMakeIncludeDirectories new) dirs: (OrderedCollection with: '${crossDir}/plugins/SocketPlugin'));
+ 		addLast:((CMakeAddDefinitions new) definitions: (OrderedCollection with:  '-DSQAIO_H=\"sqaio.h\"'))
+ 
+ 	
+ !

Item was changed:
  ----- Method: SqueakWin32x86Config>>extraPluginSettingsBuild: (in category 'cmake buildType redirects') -----
  extraPluginSettingsBuild: aMaker
- 
- 	self flag:'tty'. "cut-n-paste from pharo code in CogWindowsConfig. caveat emptor"
  	self subclassResponsibility.
+ "
+ 	aMaker isExternal 
+ 		ifTrue:[aMaker templates addLast:((CMakeSet new) variable:'LIBRARY_OUTPUT_PATH' value:'${outputDir}')].
+ 	
+ "!
- "	
- 	aMaker isExternal ifTrue: [
- 		aMaker set: 'LIBRARY_OUTPUT_PATH' toString: '${outputDir}'.
- 		
- 		aMaker cmd: 'set_target_properties' params:  aMaker moduleName , ' PROPERTIES PREFIX "" '
- 	]"!



More information about the Vm-dev mailing list