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 "" ' - ]"!
vm-dev@lists.squeakfoundation.org