Timothy M uploaded a new version of CMakeVMMakerSqueak to project VM Maker: http://source.squeak.org/VMMaker/CMakeVMMakerSqueak-tty.59.mcz ==================== Summary ==================== Name: CMakeVMMakerSqueak-tty.59 Author: tty Time: 16 June 2014, 7:42:06.412 pm UUID: d9697c5e-41f3-4fb3-8c34-dc0f134d3520 Ancestors: CMakeVMMakerSqueak-tty.58 reroute setGlobalOptions: aMaker to allow customization by Configurations by buildType. Fix bug in configureForBuildType: aSymbol that incorrectly set the buildType: value Generated build and it compiled. Tests all pass. =============== Diff against CMakeVMMakerSqueak-tty.58 =============== Item was changed: ----- Method: Linux32x86Config>>configureForBuildType: (in category 'cmake') ----- configureForBuildType: aSymbol + | d | - | d info | "provide a concrete builder with the buildType and configureBuildX method to invoke" - info := SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. self configureNoBuildType. "reset all internal flags" d at: #build + put: [self buildType:#build. self configureBuild]; - put: [self buildType:(info at:#build). self configureBuild]; at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; - put: [self buildType:(info at: #buildAssert). self configureBuildAssert]; at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; - put: [ self buildType:(info at: #buildAssertITimerHeartbeat ). self configureBuildAssertITimerHeartbeat]; at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; - put: [self buildType:(info at: #buildDebug ). self configureBuildDebug]; at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; - put: [self buildType:(info at: #buildDebugITimerHeartbeat). self configureBuildDebugITimerHeartbeat]; at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; - put: [self buildType:(info at: #buildDebugMultiThreaded ). self configureBuildDebugMultiThreaded]; at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; - put: [self buildType:(info at:#buildITimerHeartbeat ). self configureBuildIHeartbeatTimer]; at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; - put: [self buildType:(info at:#buildMultiThreaded ). self configureBuildMultiThreaded]; at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; - put: [self buildType:(info at: #buildMultiThreadedAssert). self configureBuildMultiThreadedAssert]; at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. - put: [self buildType: (info at: #buildMultiThreadedDebug). self configureBuildMultiThreadedDebug]. ^(d at: aSymbol).! Item was added: + ----- Method: Linux32x86SqueakCogV3Configz>>configureForBuildType: (in category 'cmake configuration') ----- + configureForBuildType: aSymbol + | d | + "provide a concrete builder with the buildType and configureBuildX method to invoke" + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + self configureNoBuildType. "reset all internal flags" + d + at: #build + put: [self buildType:#build. self configureBuild]; + + at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; + + at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; + + at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; + + at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; + + at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; + + at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; + + at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; + + at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; + + at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. + + ^(d at: aSymbol).! Item was added: + ----- Method: Linux32x86SqueakStackSpurConfigz>>configureForBuildType: (in category 'cmake configuration') ----- + configureForBuildType: aSymbol + | d | + "provide a concrete builder with the buildType and configureBuildX method to invoke" + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + self configureNoBuildType. "reset all internal flags" + d + at: #build + put: [self buildType:#build. self configureBuild]; + + at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; + + at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; + + at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; + + at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; + + at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; + + at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; + + at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; + + at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; + + at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. + + ^(d at: aSymbol).! Item was added: + ----- Method: Linux32x86SqueakStackV3Configz>>configureForBuildType: (in category 'cmake configuration') ----- + configureForBuildType: aSymbol + | d | + "provide a concrete builder with the buildType and configureBuildX method to invoke" + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + self configureNoBuildType. "reset all internal flags" + d + at: #build + put: [self buildType:#build. self configureBuild]; + + at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; + + at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; + + at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; + + at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; + + at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; + + at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; + + at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; + + at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; + + at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. + + ^(d at: aSymbol).! Item was added: + ----- Method: Linux64Config>>configureForBuildType: (in category 'cmake configuration') ----- + configureForBuildType: aSymbol + | d | + "provide a concrete builder with the buildType and configureBuildX method to invoke" + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + self configureNoBuildType. "reset all internal flags" + d + at: #build + put: [self buildType:#build. self configureBuild]; + + at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; + + at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; + + at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; + + at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; + + at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; + + at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; + + at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; + + at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; + + at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. + + ^(d at: aSymbol).! Item was changed: ----- Method: Linux64x86w32BitConfig>>configureForBuildType: (in category 'cmake') ----- configureForBuildType: aSymbol + | d | - | d info | "provide a concrete builder with the buildType and configureBuildX method to invoke" - info := SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. self configureNoBuildType. "reset all internal flags" d at: #build + put: [self buildType:#build. self configureBuild]; - put: [self buildType:(info at:#build). self configureBuild]; at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; - put: [self buildType:(info at: #buildAssert). self configureBuildAssert]; at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; - put: [ self buildType:(info at: #buildAssertITimerHeartbeat ). self configureBuildAssertITimerHeartbeat]; at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; - put: [self buildType:(info at: #buildDebug ). self configureBuildDebug]; at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; - put: [self buildType:(info at: #buildDebugITimerHeartbeat). self configureBuildDebugITimerHeartbeat]; at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; - put: [self buildType:(info at: #buildDebugMultiThreaded ). self configureBuildDebugMultiThreaded]; at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; - put: [self buildType:(info at:#buildITimerHeartbeat ). self configureBuildIHeartbeatTimer]; at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; - put: [self buildType:(info at:#buildMultiThreaded ). self configureBuildMultiThreaded]; at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; - put: [self buildType:(info at: #buildMultiThreadedAssert). self configureBuildMultiThreadedAssert]; at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. - put: [self buildType: (info at: #buildMultiThreadedDebug). self configureBuildMultiThreadedDebug]. ^(d at: aSymbol).! Item was changed: ----- Method: Linux64x86w32BitConfig>>setGlobalOptions: (in category 'utils') ----- + setGlobalOptions: aMaker + "SystemNavigation default browseMethodsWhoseNamesContain: 'setGlobalOptions:' - setGlobalOptions: maker - - maker set: 'CMAKE_C_COMPILER' to: '/usr/bin/gcc'. - maker set: 'CMAKE_CXX_COMPILER' to: '/usr/bin/g++'. - " maker set: 'CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH}' to: ' /usr/lib/gcc/x86_64-slackware-linux/4.8.2/'. - set any CMake global options, before declaring a project in cmake file + we subclass this in our concrete builder and route it to " + + ^self setGlobalOptions: aMaker buildType: (buildType asSymbol) + ! - set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /opt/local/lib) - SystemNavigation default browseMethodsWhoseNamesContain: 'setGlobalOptions:' - "! Item was added: + ----- Method: Linux64x86w32BitConfig>>setGlobalOptions:buildType: (in category 'utils') ----- + setGlobalOptions: aMaker buildType: aBuildType + "invoke correct setGlobalOptions for this buildType to allow per-buildType customization'" + + |d | + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + d + at: #build put: [self setGlobalOptionsBuild: aMaker]; + at: #buildAssert put: [self setGlobalOptionsBuildAssert: aMaker]; + at: #buildAssertITimerHeartbeat put: [self setGlobalOptionsBuildAssertITimerHeartbeat: aMaker]; + at:#buildDebug put: [self setGlobalOptionsBuildDebug: aMaker]; "located in CMakeVMMaker CPlatformConfig" + at: #buildDebugITimerHeartbeat put: [self setGlobalOptionsBuildDebugITimerHeartbeat: aMaker ]; + at: #buildDebugMultiThreaded put: [self setGlobalOptionsBuildDebugMultiThreaded: aMaker]; + at: #buildITimerHeartbeat put: [self setGlobalOptionsBuildITimerHeartbeat: aMaker]; + at: #buildMultiThreaded put: [self setGlobalOptionsBuildMultiThreaded: aMaker ]; + at: #buildMultiThreadedAssert put: [self setGlobalOptionsBuildMultiThreadedAssert: aMaker]; + at: #buildMultiThreadedDebug put: [self setGlobalOptionsBuildMultiThreadedDebug: aMaker ]; + at: #buildNone put:[self setGlobalOptionsBuildNone: aMaker]. + + ^((d at: ( aBuildType)) value) + ! Item was added: + ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuild: (in category 'cmake config build type ') ----- + setGlobalOptionsBuild: aMaker + "convenience method to customize setGlobalOptions: aMaker for this build type. + Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker" + ^super setGlobalOptions: aMaker! Item was added: + ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildAssert: (in category 'cmake config build type ') ----- + setGlobalOptionsBuildAssert: aMaker + "convenience method to customize setGlobalOptions: aMaker for this build type. + Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker" + ^super setGlobalOptions: aMaker! Item was added: + ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildAssertITimerHeartbeat: (in category 'cmake config build type ') ----- + setGlobalOptionsBuildAssertITimerHeartbeat: aMaker + "convenience method to customize setGlobalOptions: aMaker for this build type. + Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker" + ^super setGlobalOptions: aMaker! Item was added: + ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildDebug: (in category 'cmake config build type ') ----- + setGlobalOptionsBuildDebug: aMaker + "convenience method to customize setGlobalOptions: aMaker for this build type. + Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker" + ^super setGlobalOptions: aMaker! Item was added: + ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildDebugITimerHeartbeat: (in category 'cmake config build type ') ----- + setGlobalOptionsBuildDebugITimerHeartbeat: aMaker + "convenience method to customize setGlobalOptions: aMaker for this build type. + Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker" + ^super setGlobalOptions: aMaker! Item was added: + ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildITimerHeartbeat: (in category 'cmake config build type ') ----- + setGlobalOptionsBuildITimerHeartbeat: aMaker + "convenience method to customize setGlobalOptions: aMaker for this build type. + Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker" + self break. + ^super setGlobalOptions: aMaker! Item was added: + ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildMultiThreaded: (in category 'cmake config build type ') ----- + setGlobalOptionsBuildMultiThreaded: aMaker + "convenience method to customize setGlobalOptions: aMaker for this build type. + Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker" + ^super setGlobalOptions: aMaker! Item was added: + ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildMultiThreadedAssert: (in category 'cmake config build type ') ----- + setGlobalOptionsBuildMultiThreadedAssert: aMaker + "convenience method to customize setGlobalOptions: aMaker for this build type. + Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker" + ^super setGlobalOptions: aMaker! Item was added: + ----- Method: Linux64x86w32BitConfig>>setGlobalOptionsBuildMultiThreadedDebug: (in category 'cmake config build type ') ----- + setGlobalOptionsBuildMultiThreadedDebug: aMaker + "convenience method to customize setGlobalOptions: aMaker for this build type. + Default is in CPlatformConfig>setGlobalOptions: aMaker setGlobalOptions: aMaker" + ^super setGlobalOptions: aMaker! Item was added: + ----- Method: SqueakAndroidStackEvtConfig>>configureForBuildType: (in category 'cmake configuration') ----- + configureForBuildType: aSymbol + | d | + "provide a concrete builder with the buildType and configureBuildX method to invoke" + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + self configureNoBuildType. "reset all internal flags" + d + at: #build + put: [self buildType:#build. self configureBuild]; + + at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; + + at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; + + at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; + + at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; + + at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; + + at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; + + at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; + + at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; + + at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. + + ^(d at: aSymbol).! Item was added: + ----- Method: SqueakBSDConfig>>configureForBuildType: (in category 'cmake configuration') ----- + configureForBuildType: aSymbol + | d | + "provide a concrete builder with the buildType and configureBuildX method to invoke" + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + self configureNoBuildType. "reset all internal flags" + d + at: #build + put: [self buildType:#build. self configureBuild]; + + at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; + + at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; + + at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; + + at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; + + at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; + + at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; + + at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; + + at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; + + at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. + + ^(d at: aSymbol).! Item was changed: ----- Method: SqueakCMakeVMMakerAbstractBuilder>>configureABuildFor:withBuildType: (in category 'building') ----- configureABuildFor: configSymbol withBuildType: typeSymbol | i | self flag:'tty'. "excludeFromBuild returning True does not exit gracefully" "Do some sanity checks, then set the internal state of a Configuration for a particular build type. " [ ((Smalltalk at: configSymbol) category) = (self configurationsCategory) "verify the class is handled by this concrete builder" ifTrue:[ config := (Smalltalk at: configSymbol) new. "verify this config can handle this build type." config excludeFromBuild "has a developer excluded this build manually?" ifTrue:[^self userErrorConfigMarkedAsExcludeFromBuild: configSymbol]. i:=config availableBuilds indexOf:typeSymbol ifAbsent:[^self userErrorInvalidBuildType: typeSymbol "this config does not support this build type" forConfiguration: configSymbol hasTypes: config availableBuilds]. - (config configureForBuildType: typeSymbol) value. "config configure yourself" ^self] ifFalse:[^self userErrorInvalidTarget: configSymbol] ] ifError:[^'error configureABuildFor: ''', configSymbol]. ^nil. ! Item was added: + ----- Method: SqueakIA32BochsConfig>>configureForBuildType: (in category 'cmake configuration') ----- + configureForBuildType: aSymbol + | d | + "provide a concrete builder with the buildType and configureBuildX method to invoke" + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + self configureNoBuildType. "reset all internal flags" + d + at: #build + put: [self buildType:#build. self configureBuild]; + + at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; + + at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; + + at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; + + at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; + + at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; + + at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; + + at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; + + at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; + + at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. + + ^(d at: aSymbol).! Item was added: + ----- Method: SqueakMacOSConfig>>configureForBuildType: (in category 'cmake configuration') ----- + configureForBuildType: aSymbol + | d | + "provide a concrete builder with the buildType and configureBuildX method to invoke" + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + self configureNoBuildType. "reset all internal flags" + d + at: #build + put: [self buildType:#build. self configureBuild]; + + at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; + + at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; + + at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; + + at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; + + at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; + + at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; + + at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; + + at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; + + at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. + + ^(d at: aSymbol).! Item was added: + ----- Method: SqueakSunOS32x86Config>>configureForBuildType: (in category 'cmake configuration') ----- + configureForBuildType: aSymbol + | d | + "provide a concrete builder with the buildType and configureBuildX method to invoke" + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + self configureNoBuildType. "reset all internal flags" + d + at: #build + put: [self buildType:#build. self configureBuild]; + + at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; + + at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; + + at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; + + at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; + + at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; + + at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; + + at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; + + at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; + + at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. + + ^(d at: aSymbol).! Item was added: + ----- Method: SqueakWin32x86Config>>configureForBuildType: (in category 'cmake configuration') ----- + configureForBuildType: aSymbol + | d | + "provide a concrete builder with the buildType and configureBuildX method to invoke" + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + self configureNoBuildType. "reset all internal flags" + d + at: #build + put: [self buildType:#build. self configureBuild]; + + at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; + + at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; + + at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; + + at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; + + at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; + + at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; + + at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; + + at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; + + at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. + + ^(d at: aSymbol).! Item was changed: ----- Method: TCPlatformConfigForSqueak>>configureForBuildType: (in category 'cmake configuration') ----- configureForBuildType: aSymbol + | d | - | d info | "provide a concrete builder with the buildType and configureBuildX method to invoke" - info := SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. self configureNoBuildType. "reset all internal flags" d at: #build + put: [self buildType:#build. self configureBuild]; - put: [self buildType:(info at:#build). self configureBuild]; at: #buildAssert + put: [self buildType: #buildAssert. self configureBuildAssert]; - put: [self buildType:(info at: #buildAssert). self configureBuildAssert]; at: #buildAssertITimerHeartbeat + put: [ self buildType: #buildAssertITimerHeartbeat. self configureBuildAssertITimerHeartbeat]; - put: [ self buildType:(info at: #buildAssertITimerHeartbeat ). self configureBuildAssertITimerHeartbeat]; at:#buildDebug + put: [self buildType: #buildDebug. self configureBuildDebug]; - put: [self buildType:(info at: #buildDebug ). self configureBuildDebug]; at: #buildDebugITimerHeartbeat + put: [self buildType: #buildDebugITimerHeartbeat. self configureBuildDebugITimerHeartbeat]; - put: [self buildType:(info at: #buildDebugITimerHeartbeat). self configureBuildDebugITimerHeartbeat]; at: #buildDebugMultiThreaded + put: [self buildType: #buildDebugMultiThreaded. self configureBuildDebugMultiThreaded]; - put: [self buildType:(info at: #buildDebugMultiThreaded ). self configureBuildDebugMultiThreaded]; at: #buildITimerHeartbeat + put: [self buildType:#buildITimerHeartbeat. self configureBuildIHeartbeatTimer]; - put: [self buildType:(info at:#buildITimerHeartbeat ). self configureBuildIHeartbeatTimer]; at: #buildMultiThreaded + put: [self buildType:#buildMultiThreaded . self configureBuildMultiThreaded]; - put: [self buildType:(info at:#buildMultiThreaded ). self configureBuildMultiThreaded]; at: #buildMultiThreadedAssert + put: [self buildType: #buildMultiThreadedAssert. self configureBuildMultiThreadedAssert]; - put: [self buildType:(info at: #buildMultiThreadedAssert). self configureBuildMultiThreadedAssert]; at: #buildMultiThreadedDebug + put: [self buildType: #buildMultiThreadedDebug. self configureBuildMultiThreadedDebug]. - put: [self buildType: (info at: #buildMultiThreadedDebug). self configureBuildMultiThreadedDebug]. ^(d at: aSymbol).! Item was changed: ----- Method: TCPlatformConfigForSqueak>>setGlobalOptions: (in category 'utils') ----- setGlobalOptions: maker + "SystemNavigation default browseMethodsWhoseNamesContain: 'setGlobalOptions:' - self required - "set any CMake global options, before declaring a project in cmake file + we subclass this in our concrete builder and route it to - maker set: 'CMAKE_C_COMPILER' to: '/usr/bin/gcc'. - maker set: 'CMAKE_CXX_COMPILER' to: '/usr/bin/g++'. + ^self setGlobalOptions: aMaker buildType: (self buildType asSymbol) + + " + self required + + ! - SystemNavigation default browseMethodsWhoseNamesContain: 'setGlobalOptions:' - "! Item was added: + ----- Method: TCPlatformConfigForSqueak>>setGlobalOptions:buildType: (in category 'utils') ----- + setGlobalOptions: aMaker buildType: aBuildType + "invoke correct setGlobalOptions for this buildType to allow per-buildType customization'" + + |d | + d:= SqueakCMakeVMMakerAbstractBuilder default buildTypeAndDirectoryInfo copy. + d + at: #build put: [self setGlobalOptionsBuild: aMaker]; + at: #buildAssert put: [self setGlobalOptionsBuildAssert: aMaker]; + at: #buildAssertITimerHeartbeat put: [self setGlobalOptionsBuildAssertITimerHeartbeat: aMaker]; + at:#buildDebug put: [self setGlobalOptionsBuildDebug: aMaker]; "located in CMakeVMMaker CPlatformConfig" + at: #buildDebugITimerHeartbeat put: [self setGlobalOptionsBuildDebugITimerHeartbeat: aMaker ]; + at: #buildDebugMultiThreaded put: [self setGlobalOptionsBuildDebugMultiThreaded: aMaker]; + at: #buildITimerHeartbeat put: [self setGlobalOptionsBuildITimerHeartbeat: aMaker]; + at: #buildMultiThreaded put: [self setGlobalOptionsBuildMultiThreaded: aMaker ]; + at: #buildMultiThreadedAssert put: [self setGlobalOptionsBuildMultiThreadedAssert: aMaker]; + at: #buildMultiThreadedDebug put: [self setGlobalOptionsBuildMultiThreadedDebug: aMaker ]; + at: #buildNone put:[self setGlobalOptionsBuildNone: aMaker]. + + ^(d at: ( aBuildType)) value + ! Item was changed: ----- Method: TCPlatformConfigForSqueak>>setGlobalOptionsBuildNone: (in category 'cmake config build type ') ----- setGlobalOptionsBuildNone: aMaker + "SHOULD NOT HAPPEN" + self halt.! - self required.! |
Free forum by Nabble | Edit this page |