Changing the Products location


#1

I have used the IntroJucer to generate a JUCE static library for me.  It is simply called JUCE.xcodeproj.  I took JUCE.xcodeproj and added to our main project, Unity-iPhone.

There is a folder under JUCE.xcodeproj called Products.  It has a red file in it called libJUCE.a.  The full path of libJUCE.a that I can see when I click on it is

/Users/JohnLawrie/src/code/zyamusic/ZyaStudio_Xcode/ZyaStudioiOS/DerivedData/Unity-iPhone/Build/Products/Release-iphoneos/libJUCE.a

This is the file our app is looking for to link with.  However, the file that was generated was actually

/Users/JohnLawrie/src/code/zyamusic/thirdparty/JUCE/builds/Builds/iOS/build/Release/libJUCE.a

I have tried messing with "Binary Location" setting in the Introjucter, but I don't see how I can set this so that the generated file is in the correct location.  Can I do this, or is there a way that I can set it up to copy the file.

Another thing that I don't understand is that if I open up JUCE.xcode projecect by itself, it wants libJUCE.a to reside at

/Users/JohnLawrie/src/code/zyamusic/thirdparty/JUCE/builds/Builds/iOS/build/Debug-iphoneos/libJUCE.a

But within the Unity-iPhone project, it wants it to reside at

/Users/JohnLawrie/src/code/zyamusic/ZyaStudio_Xcode/ZyaStudioiOS/DerivedData/Unity-iPhone/Build/Products/Release-iphoneos/libJUCE.a

Why is there a discrepancy and how to do set it up that my libJUCE.a will end up at the plact that the Products folder says it should be at.

Thanks,

John Lawrie

 

 

 


#2

This kind of crap is exactly why I recommend NOT using static libs! It may save you 10 seconds of build-time when doing a full rebuild, but in my experience that's always massively outweighed by the general hassle of trying to maintain all these extra projects and keep them in sync.

Surely it doesn't matter whether whether the Xcode library project shows the file in red or not? It's getting built, and it gets placed in the location set by the "build location" setting, so you can make your app project link to whatever that real location is, right?