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

commits at source.squeak.org commits at source.squeak.org
Sat Feb 18 13:24:44 UTC 2012


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

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

Name: CMakeVMMaker-EstebanLorenzano.149
Author: EstebanLorenzano
Time: 18 February 2012, 10:24:26 am
UUID: 4c3586ea-949b-483f-b059-9123508e2e67
Ancestors: CMakeVMMaker-EstebanLorenzano.148

StackIPhoneConfig working with Xcode generation, not with regular makes (it is not placing files in proper place)

=============== Diff against CMakeVMMaker-EstebanLorenzano.148 ===============

Item was changed:
  ----- Method: CocoaIOSConfig>>plistFile (in category 'bundle strings') -----
  plistFile
- 
  	| plist |
  	
+ 	plist := self plistTemplate.	
+ 	self plistKeys
+ 		do: [:key | 
+ 			plist := plist 
+ 				copyReplaceAll: '@' , key , '@' 
+ 				with: (self perform: key) asString ].
- 	plist := self plistTemplate.
- 	
- 	#(
- 	CFBundleExecutable
- 	CFBundleGetInfoString
- 	CFBundleName
- 	CFBundleShortVersionString
- 	CFBundleVersion
- 	CFBundleIconFile
- 	CFBundleIdentifier
- 	NSMainNibFile
- 	SqueakDebug) do: [:key |
- 		plist := plist copyReplaceAll: '@' , key , '@' with: (self perform: key) asString
- 	].
  
  	^ self fixLineEndsOf: plist!

Item was added:
+ ----- Method: CocoaIOSConfig>>plistKeys (in category 'bundle strings') -----
+ plistKeys 
+ 	^#(
+ 	CFBundleExecutable
+ 	CFBundleGetInfoString
+ 	CFBundleName
+ 	CFBundleShortVersionString
+ 	CFBundleVersion
+ 	CFBundleIconFile
+ 	CFBundleIdentifier
+ 	NSMainNibFile
+ 	SqueakDebug)!

Item was added:
+ ----- Method: StackIPhoneConfig class>>deviceIPad (in category 'accessing') -----
+ deviceIPad 
+ 	^'2'!

Item was added:
+ ----- Method: StackIPhoneConfig class>>deviceIPhone (in category 'accessing') -----
+ deviceIPhone 
+ 	^'1'!

Item was added:
+ ----- Method: StackIPhoneConfig>>CFBundleIconFile (in category 'bundle strings') -----
+ CFBundleIconFile 
+ 	^'Cog.png'!

Item was added:
+ ----- Method: StackIPhoneConfig>>UIDeviceFamily (in category 'bundle strings') -----
+ UIDeviceFamily
+ 	^self targetedDeviceFamily!

Item was added:
+ ----- Method: StackIPhoneConfig>>codeSignIdentity (in category 'accessing') -----
+ codeSignIdentity 
+ 	^'iPhone Developer'!

Item was changed:
  ----- Method: StackIPhoneConfig>>commonCompilerFlags (in category 'settings') -----
  commonCompilerFlags
  	"Common compiler flags"
  	^{
  	"'-miphoneos-version-min=4.3'. "
  	'-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS', self sdkVersion, '.sdk'.
  	'-x objective-c'.
  	'-std=gnu99'.
  	'-falign-functions=16'.
  	'-fno-gcse'.
  	'-fno-cse-follow-jumps'.
  	'-fvisibility=hidden'.
  	'-funroll-loops'.
  	'-finline-functions'.
+ 	'-mno-thumb'.
  	'-DSTACKVM=1'.
  	'-DCOGMTVM=0'. 
  	'-DUSE_GLOBAL_STRUCT=0'. 
  	'-DBASE_HEADER_SIZE=4'.
  	'-DTARGET_OS_IS_IPHONE'.
  	'-DHAVE_UUID_GENERATE'.
  	'-DUSE_INLINE_MEMORY_ACCESSORS'. 
  	'-DHAVE_SYS_TIME_H'.
  	'-DLSB_FIRST'.
  	'-DHAVE_NANOSLEEP'.
  	"'-DXXXUSE_INLINE_MEMORY_ACCESSORS'."
+ 	'-DISQUEAK_IMAGE=', self imageName.
- 	'-DISQUEAK_IMAGE=iPhone'.
  	'-DISQUEAK_SOURCES=PharoV10'}!

Item was changed:
  ----- Method: StackIPhoneConfig>>compilerFlagsRelease (in category 'settings') -----
  compilerFlagsRelease 
+ 	^#('-g0' '-O3' "'-fasm-blocks'" '-finline-functions' "'-mfpmath=sse'" '-fomit-frame-pointer' "'-march=pentium-m'" "'-mtune=prescott'" '-DNDEBUG' '-DDEBUGVM=0')!
- 	^#('-g0' '-Os' "'-fasm-blocks'" '-finline-functions' "'-mfpmath=sse'" '-fomit-frame-pointer' "'-march=pentium-m'" "'-mtune=prescott'" '-DNDEBUG' '-DDEBUGVM=0')!

Item was added:
+ ----- Method: StackIPhoneConfig>>deploymentTargetVersion (in category 'accessing') -----
+ deploymentTargetVersion 
+ 	^'4.0'!

Item was added:
+ ----- Method: StackIPhoneConfig>>imageName (in category 'accessing') -----
+ imageName
+ 	^'iPhone'!

Item was changed:
  ----- Method: StackIPhoneConfig>>imageResources (in category 'settings') -----
  imageResources 
  	^#(
- 	'iPhone.image'
  	'iPhone.changes'
  	'PharoV10.sources')!

Item was added:
+ ----- Method: StackIPhoneConfig>>plistKeys (in category 'bundle strings') -----
+ plistKeys 
+ 	^super plistKeys 
+ 		copyWith: #UIDeviceFamily!

Item was changed:
  ----- Method: StackIPhoneConfig>>plistTemplate (in category 'bundle strings') -----
  plistTemplate 
  	self flag: #todo. "CFBundleDisplayName is using @CFBundleExecutable@ that's probably wrong"
  	^'<?xml version="1.0" encoding="UTF-8"?>
  <!!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  <plist version="1.0">
  <dict>
  	<key>CFBundleDevelopmentRegion</key>
  	<string>en</string>
  	<key>CFBundleDisplayName</key>
  	<string>@CFBundleExecutable@</string>
  	<key>CFBundleExecutable</key>
  	<string>@CFBundleExecutable@</string>
  	<key>CFBundleIconFile</key>
  	<string>@CFBundleIconFile@</string>
  	<key>CFBundleIdentifier</key>
  	<string>@CFBundleIdentifier@</string>
  	<key>CFBundleInfoDictionaryVersion</key>
  	<string>6.0</string>
  	<key>CFBundleName</key>
  	<string>@CFBundleName@</string>
  	<key>CFBundlePackageType</key>
  	<string>APPL</string>
  	<key>CFBundleResourceSpecification</key>
  	<string>ResourceRules.plist</string>
  	<key>CFBundleSignature</key>
  	<string>FRAC</string>
  	<key>CFBundleSupportedPlatforms</key>
  	<array>
  		<string>iPhoneOS</string>
  	</array>
  	<key>CFBundleVersion</key>
  	<string>1.1.7</string>
  	<key>LSRequiresIPhoneOS</key>
  	<true/>
  	<key>MinimumOSVersion</key>
  	<string>3.1.3</string>
  	<key>NSMainNibFile</key>
  	<string>MainWindow</string>
  	<key>UIDeviceFamily</key>
  	<array>
+ 		<integer>@UIDeviceFamily@</integer>
- 		<integer>1</integer>
  	</array>
  	<key>UIPrerenderedIcon</key>
  	<false/>
  	<key>UIStatusBarHidden</key>
  	<true/>
  </dict>
  </plist>
  '!

Item was changed:
  ----- Method: StackIPhoneConfig>>resources (in category 'settings') -----
  resources 
+ 	^{
+ 	self CFBundleIconFile.
+ 	self imageName, '.image'}, 
+ 	self imageResources
+ 		!
- 	^#('Cog.icns'), self imageResources!

Item was added:
+ ----- Method: StackIPhoneConfig>>resourcesDir (in category 'accessing') -----
+ resourcesDir 
+ 	"Answer the value of resourcesDir"
+ 	^ resourcesDir ifNil: [ resourcesDir := (self topDir / 'iosbuild' / 'resources') fullName ]!

Item was changed:
  ----- Method: StackIPhoneConfig>>setCommonProperties: (in category 'settings') -----
  setCommonProperties: maker 
  	maker set: 'CMAKE_CROSSCOMPILING' to: 'TRUE'.
  	maker set: 'CMAKE_SYSTEM_NAME' to: 'Darwin'.
  	maker set: 'CMAKE_SYSTEM_PROCESSOR' to: 'arm'.
  
  	maker set: 'SDKVER' toString: self sdkVersion.
  	maker set: 'DEVROOT' toString: '/Developer/Platforms/iPhoneOS.platform/Developer'.
  	maker set: 'SDKROOT' toString: '${DEVROOT}/SDKs/iPhoneOS${SDKVER}.sdk'.
  
+ 	maker set: 'CMAKE_OSX_SYSROOT' to: 'iphoneos${SDKVER}'.
- 	maker 
- 		set: 'CMAKE_OSX_SYSROOT' 
- 		to: 'iphoneos${SDKVER}'.
  		
  	maker set: 'CMAKE_C_COMPILER' to: '${DEVROOT}/usr/bin/llvm-gcc'.
  	maker set: 'CMAKE_CXX_COMPILER' to: '${DEVROOT}/usr/bin/llvm-g++'.
  	"maker set: 'CMAKE_C_COMPILER' to: 'gcc-4.2'.
  	maker set: 'CMAKE_CXX_COMPILER' to: 'g++-4.2'."
  		
  	maker set: 'CMAKE_FIND_ROOT_PATH' to: '"${SDKROOT}" "${DEVROOT}"'.
  	maker set: 'CMAKE_FIND_ROOT_PATH_MODE_PROGRAM' to: 'ONLY'.
  	maker set: 'CMAKE_FIND_ROOT_PATH_MODE_LIBRARY' to: 'ONLY'.
  	maker set: 'CMAKE_FIND_ROOT_PATH_MODE_INCLUDE' to: 'ONLY'.
  	
  	maker set: 'CMAKE_EXE_LINKER_FLAGS' toString: '-L${SDKROOT}/usr/lib -L${SDKROOT}/usr/lib/system'.
  
+ 	maker addFrameworks: self frameworks.!
- 	maker addFrameworks: self frameworks.
- !

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 
- 		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 targetedDeviceFamily.
+ 	maker set: 'CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET' to: self deploymentTargetVersion.
  	
+ 	maker set: 'EXECUTABLE_OUTPUT_PATH' toString: self outputDir.!
- 	maker set: 'EXECUTABLE_OUTPUT_PATH' toString: self outputDir.
- 	maker set: 'RUNTIME_OUTPUT_DIRECTORY' toString: self outputDir.
- !

Item was changed:
  ----- Method: StackIPhoneConfig>>setResourceProperties: (in category 'settings') -----
  setResourceProperties: maker
+ 	maker set: 'resourceDir' toString: self resourcesDir.
- 	maker set: 'resourceDir' toString: self resourcesDir, '/ProjectBuilder'.
  
  	maker 
  		set: 'resources' 
  		to: (String streamContents: [ :stream | 
  			self  resources
  				do: [ :each | 
  					stream 
  						nextPut: $";
  						nextPutAll: '${resourceDir}/';
  						nextPutAll: each;
  						nextPut: $"]
  				separatedBy: [ stream space ] ]).
  		
  	maker 
  		set: 'resourcesLocaleEnglish' 
+ 		toString: '${resourceDir}/English.lproj/MainWindow.nib'.
- 		toString: '${resourceDir}/iPhone-English.lproj/MainWindow.nib'.
  
  	maker 
  		cmd: 'set_source_files_properties' 
  		params: '${resources} PROPERTIES MACOSX_PACKAGE_LOCATION Resources'.
  
  	maker 
  		cmd: 'set_source_files_properties' 
  		params: '${resourcesLocaleEnglish} PROPERTIES MACOSX_PACKAGE_LOCATION Resources'.
- 
  !

Item was added:
+ ----- Method: StackIPhoneConfig>>targetedDeviceFamily (in category 'accessing') -----
+ targetedDeviceFamily 
+ 	^self class deviceIPad!



More information about the Vm-dev mailing list