[Vm-dev] VM Maker: CMakeVMMakerSqueak-tty.59.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Jun 16 23:42:04 UTC 2014
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.!
More information about the Vm-dev
mailing list