merge iOS and OSX xcodeprojects #2786

Merged
merged 6 commits into from May 31, 2013

Conversation

Projects
None yet
4 participants
Contributor

diederich commented May 25, 2013

first shot of merging the iOS and Xcode projects.
I tried to leave pretty much everything as it was and from a first look everything still works (TM) ;-)

Contributor

davilla commented May 25, 2013

nice :)

Owner

Memphiz commented May 25, 2013

jenkins buildtested this for osx32/64 and ios - and i tested ios runtime. Looks good so far.

TODO - merging the ATV2 project in there too.

Owner

Memphiz commented May 26, 2013

@mdd updated - added atv2

Quick runtime tests for osx/ios/atv2 done - at a first glance only the issue with the strange sandboxing dir on ios came to my eyes. (see your irc backlog)

Contributor

davilla commented May 26, 2013

TARGET_DARWIN_IOS_ATV2 is bogus, is never defined by configure.in. The idea was TARGET_DARWIN_xxx is platform, atv2 is TARGET_DARWIN_IOS and runtime check should tell difference between iOS and ATV2.

Owner

Memphiz commented May 27, 2013

Well we Need it atm - cause some defines get Set based on it (e.x. Default Skin on atv2 is confluence - not Touch)

Its not defined by configure because we only configure Once for ios and atv2 can be Built with this configuration too then. Thats why it gets defined in the ATV2 Target on Xcode only.

Granted - this is sort of a rape we did there (you remember when we added this? We discussed it before for sure.)

Contributor

davilla commented May 27, 2013

yes, mr.goldfish remembers something about this. We just want to be careful that some code that uses/includes any usage of TARGET_DARWIN_IOS_ATV2 is never compiled under make xcode_depends. If so, then bad things will happen.

Owner

Memphiz commented May 27, 2013

Rebased and fixed some more bits - did some more tests with atv2 and ios and am fine with it now. Davilla how do we go about it? Could you do some tests as well for a double check? Or do we just assign it to the next merge window and let gpigs report back?

TODO: another cleanup of this pr / squashing

Contributor

davilla commented May 27, 2013

Next merge starts in three days, assign and push it in then as it is a refactor not a bug fix. If you/mdd/jenkins are happy with it. We can sort out any issues/regressions after in comes in.

diederich and others added some commits May 23, 2013

@diederich @Memphiz diederich [xcode] add iOS and ATV2 Target to main Xcode project
* iOS Target added
* ATV2 Target added
* add build phases from iOS project
* add build phases from ATV2 project
* factor out most of the configuration into xcconfig files
  this should help in tracking down changes in the build configs,
  make diffs easier and such.
* provide a xcconfig cascade for the project level (Common -> Debug/Release)
  as well as on the target level (App -> App-OSX/App-iOS/App-ATV2)
* add xcconfig and after buildstep scripts to xcode for easy editing
c054f7e
@diederich @Memphiz diederich [xcode] move all after buildsteps into external 'command' shell scrip…
…ts for easy diffs
d7a453a
@diederich @Memphiz diederich [ios] remove unused XBMC-iOS and XBMC-ATV2 xcodeproject dc95ca5
@diederich @Memphiz diederich [jenkins] adjust build steps to point to iOS and ATV2 Target for usin…
…g the new merged xcode project
7baaca0
@diederich @Memphiz diederich [xcode] remove UnrarXLib{.sln,.vcproj} from xcodeproject 287e4d3
@Memphiz Memphiz [doc] - updated READM.ios for using the merged xcode project 6896c70
Owner

Memphiz commented May 27, 2013

squashed

Contributor

diederich commented May 27, 2013

@Memphiz nice work 👍

Thanks for keeping my commits, but please feel free to throw them away / rename whatever :-)

Memphiz was assigned May 27, 2013

davilla merged commit e5a5264 into xbmc:master May 31, 2013

diederich deleted the unknown repository branch May 31, 2013

Contributor

nuka1195 commented May 31, 2013

I'm not getting the x86_64 option for xbmc.app target, i only get the i386 for xbmc.app target. for xbmc target i do get the x86_64 option.

Owner

Memphiz commented Jun 1, 2013

@diederich does this make Sense? (Not at a Mac atm)

Contributor

nuka1195 commented Jun 1, 2013

http://img832.imageshack.us/img832/8608/screenshot20130601at718.png <- xbmc.app

http://img560.imageshack.us/img560/1382/screenshot20130601at719.png <- xbmc

when i revert back to before this commit. it works as expected. i am on a case sensitive file system if that means anything.

Contributor

nuka1195 commented Jun 1, 2013

I also notice "project.pbxproj" keeps getting modified and showing up as an uncommitted change, just by opening xcode project file.

Contributor

diederich commented Jun 1, 2013

@nuka1195 on what machine do you see this?

Reason I'm asking is that XBMC target has the ARCHS manually set to x86_64,x86 but XBMC.app target has it set to NATIVE_ARCH.

(I'm on a somewhat recent MBP and I see x86 as well as x86_64).

Contributor

diederich commented Jun 1, 2013

@nuka1195 could you post a diff of the changes xcode makes to the project file?

Contributor

nuka1195 commented Jun 1, 2013

diff --git a/XBMC.xcodeproj/project.pbxproj b/XBMC.xcodeproj/project.pbxproj
index a96a6a3..5097ffb 100644
--- a/XBMC.xcodeproj/project.pbxproj
+++ b/XBMC.xcodeproj/project.pbxproj
@@ -3778,7 +3778,7 @@
88ACB01D0DCF409E0083CFDF /* ASAPCodec.h / = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASAPCodec.h; sourceTree = ""; };
88ACB01E0DCF409E0083CFDF /
DllASAP.h / = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DllASAP.h; sourceTree = ""; };
88ECB6580DE013C4003396A7 /
DiskArbitration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiskArbitration.framework; path = /System/Library/Frameworks/DiskArbitration.framework; sourceTree = ""; };

  •   8DD76F7E0486A8DE00D96B5E /\* XBMC */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "compiled.mach-o.executable"; path = XBMC; sourceTree = BUILT_PRODUCTS_DIR; };
    
  •   8DD76F7E0486A8DE00D96B5E /\* XBMC _/ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = XBMC; sourceTree = BUILT_PRODUCTS_DIR; };
    AE84CB5915A5B8A600A3810E /_ TagLibVFSStream.cpp _/ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TagLibVFSStream.cpp; sourceTree = "<group>"; };
    AE84CB5C15A5B8BA00A3810E /_ TagLibVFSStream.h _/ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TagLibVFSStream.h; sourceTree = "<group>"; };
    AE89ACA41621DAB800E17DBC /_ DVDDemuxBXA.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DVDDemuxBXA.cpp; sourceTree = "<group>"; };
    
Contributor

nuka1195 commented Jun 1, 2013

sorry http://pastebin.com/Dt9V5vua

thought it was small enough.

Contributor

diederich commented Jun 1, 2013

Hm, on Xcode4 this happens if you change the file-type of something via the "File Inspector" pane on the right instead of leaving it as the default. If Xcode 3 really insists on setting it, it should be no problem to commit it.

Contributor

nuka1195 commented Jun 1, 2013

mac mini 2,1 (mid 2007). it is a 32bit kernel.

Contributor

davilla commented Jun 1, 2013

I see it too, xcode3. will commit

@davilla davilla added a commit that referenced this pull request Jun 1, 2013

@diederich @davilla diederich + davilla explicitly set 32/64bit ARCHS in XBMC.app
so it can be built for 64bit on 32bit machines

refs #2786
b84a595
Contributor

diederich commented Jun 1, 2013

@nuka1195 is x86_64 back with b84a595?

Contributor

nuka1195 commented Jun 1, 2013

yes it is. thank you.

Contributor

nuka1195 commented Jun 1, 2013

i'm getting build errors now.

http://pastebin.com/HDB8nL2w

setenv XBMC_DEPENDS /Users/Shared/xbmc-depends/_x86_64-target

should be /macosx10.6_x86_64-target

Contributor

diederich commented Jun 1, 2013

@nuka1195 thanks. looking into it...

Contributor

diederich commented Jun 1, 2013

@nuka1195 does f2c7e07 help?

Contributor

nuka1195 commented Jun 1, 2013

yup, that did it. thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment