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%22%3E <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!
vm-dev@lists.squeakfoundation.org