[Vm-dev] VM Maker: CMakeVMMaker-EstebanLorenzano.155.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Apr 13 09:24:12 UTC 2012


Esteban Lorenzano uploaded a new version of CMakeVMMaker to project VM Maker:
http://source.squeak.org/VMMaker/CMakeVMMaker-EstebanLorenzano.155.mcz

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

Name: CMakeVMMaker-EstebanLorenzano.155
Author: EstebanLorenzano
Time: 13 April 2012, 11:23:51 am
UUID: daf3d6f1-2fae-424f-b0f5-af3c896eb7ab
Ancestors: CMakeVMMaker-IgorStasenko.154

empty log message

=============== Diff against CMakeVMMaker-IgorStasenko.154 ===============

Item was changed:
  ----- Method: CMakePluginGenerator>>generate (in category 'code generation') -----
  generate
  
  	| name |
  	output := String new writeStream.
  
  	name := plugin moduleName.
  	self 
  		printHeader;
  		project: name;
  		"include directories generated for build"
  		include: '../directories.cmake'.
  	
  	self set: 'CMAKE_CONFIGURATION_TYPES' to: 'Release'.
  
  
  	self message: (internal ifTrue: [ 'Adding internal plugin: '] ifFalse: ['Adding external plugin: '])  , name.
  
  	self 
  		set: #pluginName toString: name;
  		set: #pluginSrc toString: '${srcPluginsDir}/', name;
  		set: #pluginCross toString: '${crossDir}/plugins/', name;
  		set: #pluginPlatform toString: '${targetPlatform}/plugins/', name.
  		
  	
  	internal 
  		ifTrue: [ self puts: 'add_definitions(-DSQUEAK_BUILTIN_PLUGIN)'].
  	
  	self addSources: { name , '.c' } prefixed: '${pluginSrc}/'.
  
  	" default include directories for plugin "
  	self includeDirectories: '${pluginSrc} ${pluginCross} ${targetPlatform}/plugins/${pluginName}'.
  	
+ 	"Not needed because there are already there (inherited from main configuration)"
+ 	"self addDefinitions: vmGen config compilerFlags."
- 	self addDefinitions: vmGen config compilerFlags.
  
  	" perform config's configureXYZ: message to apply per-plugin custom rules, if any "
  	
  	vmGen config configurePlugin: plugin with: self.
  	
  	extraRules ifNotNil: [ extraRules value: self ].
  	
  	" generate a static lib for internal plugin, or shared for external"
  	internal ifTrue: [
  		self cmd: 'add_library' params:  name , ' STATIC ${sources}'.
  	] ifFalse: [
  		self cmd: 'add_library' params: name , ' SHARED ${sources}'.
  		
  	"	self cmd: 'set_property' params: 'TARGET ' , name , ' PROPERTY LINK_FLAGS -bundle'"
  	].
  
  	vmGen config extraPluginSettings: self.
  	
  	self isExternal ifTrue: [
  		self cmd: 'target_link_libraries'
  			params: self moduleName , ' ${LINKLIBS}'.
  		].
  	
  	" see senders of #linkFlags "
  	self 
  		cmd: 'set_property' 
  		params: 'TARGET ', name, ' PROPERTY LINK_FLAGS "${linkFlags}"'.
  	
  	self saveFile.!

Item was changed:
  ----- Method: CocoaIOSConfig>>compilerFlags (in category 'accessing') -----
  compilerFlags 
  	| releaseFlags |
  	
  	releaseFlags := self isGenerateForRelease 
  		ifTrue: [ self compilerFlagsRelease ]
  		ifFalse: [ self compilerFlagsDebug ].
  		
  	^String streamContents: [ :stream |
+ 		(self commonCompilerFlags, releaseFlags) asSet
- 		(self commonCompilerFlags, releaseFlags)
  			do: [ :each | stream nextPutAll: each ]
  			separatedBy: [ stream space ] ]!

Item was changed:
  ----- Method: CogFamilyCocoaIOSConfig>>setExtraTargetProperties: (in category 'settings') -----
  setExtraTargetProperties: maker
  	| plist |
  
  	maker addFrameworks: self frameworks.
  
  	" generated and add Info.plist file "
  	plist := self plistFile.
  
  	(maker buildDir forceNewFileNamed: 'Info.plist') 
  		nextPutAll: plist; 
  		close.
  
  	maker 
  		addProperty: 'MACOSX_BUNDLE_INFO_PLIST' 
  		value: '${buildDir}/Info.plist'.  
  
  	(maker buildDir forceNewFileNamed: self prefixHeaderFileName) 
  		nextPutAll: self precompiledHeaders;
  		close.
  	maker addXCodeProperty: 'GCC_PREFIX_HEADER' value: '${buildDir}/', self prefixHeaderFileName.
  
  	maker 
  		addXCodeProperty: 'PER_ARCH_CFLAGS_i386' value: '-DLSB_FIRST -mfpmath=sse -finline-functions  -fno-cse-follow-jumps -fno-gcse -mtune=prescott -march=pentium-m -falign-functions=16'.
  		
  	"maker 
  		addXCodeProperty: 'GCC_VERSION' value: '4.3'."
  
  	maker 
  		cmd: 'set_target_properties' 
  		params: self executableName, ' PROPERTIES COMPILE_FLAGS "-include \"', (self buildDir / self prefixHeaderFileName) fullName, '\""'. 
  	
  	maker set: 'EXECUTABLE_OUTPUT_PATH' toString: self outputDir.
  	maker set: 'RUNTIME_OUTPUT_DIRECTORY' toString: self outputDir.!

Item was changed:
  ----- Method: StackIPhoneConfig>>setExtraTargetProperties: (in category 'settings') -----
  setExtraTargetProperties: maker
  	"super setExtraTargetProperties: maker."
  
  	| precompiledHeaders plist |
  	
  	precompiledHeaders := (self executableName, '_Prefix.pch').
  	(maker buildDir forceNewFileNamed: precompiledHeaders) 
  		nextPutAll: self precompiledHeaders;
  		close.
  	
  	maker addXCodeProperty: 'GCC_PREFIX_HEADER' value: '${buildDir}/', precompiledHeaders.
  	
  	self setCommonProperties: maker.
  
  	" generated and add Info.plist file "
  	plist := self plistFile.
  	(maker buildDir forceNewFileNamed: 'Info.plist') 
  		nextPutAll: plist; 
  		close.
  
  	maker addProperty: 'MACOSX_BUNDLE_INFO_PLIST' value: '${buildDir}/Info.plist'.  
  	maker 
  		cmd: 'set_target_properties' 
  		params: self executableName, ' PROPERTIES COMPILE_FLAGS "-include \"', (self buildDir / self prefixHeaderFileName) fullName, '\""'. 
  
  	maker set: 'CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY' toString: self codeSignIdentity.
  	maker set: 'CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY' toString: self targetedDeviceFamilyAsString.
  	maker set: 'CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET' to: self deploymentTargetVersion.
- 	
  	maker set: 'EXECUTABLE_OUTPUT_PATH' toString: self outputDir.!



More information about the Vm-dev mailing list