[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