XCode2.1; because stuff breaking is fun
by Gary "ChunkyKs" Briggs · in Torque Game Engine · 06/08/2005 (12:06 am) · 7 replies
So I downloaded and installed XCode2.1.
Everything seems fine, but now it doesn't put the built application in "../example" like it used to [as I want it to, and have asked it to], but in "../example/{configuration}", where configuration is one of the build configurations, such as "Deployment", "Development", or "Default".
Anyone know how to stop it doing this too-clever-by-half thing?
Gary (-;
Everything seems fine, but now it doesn't put the built application in "../example" like it used to [as I want it to, and have asked it to], but in "../example/{configuration}", where configuration is one of the build configurations, such as "Deployment", "Development", or "Default".
Anyone know how to stop it doing this too-clever-by-half thing?
Gary (-;
#2
As far as I can tell, your idea of aliases named Development, Deployment and Default, all actually pointing to the example directory is the only fix I was able to find today.
Kindof a bummer, but thanks for the fix!
/Paul
07/12/2005 (5:19 pm)
Yeah, ran up against that today, myself. It does indeed suck.As far as I can tell, your idea of aliases named Development, Deployment and Default, all actually pointing to the example directory is the only fix I was able to find today.
Kindof a bummer, but thanks for the fix!
/Paul
#3
07/12/2005 (5:25 pm)
No custome build action were you can cp the binary to a final resting place a'la visual studio?
#4
Gary (-;
07/12/2005 (5:28 pm)
@Ron: In theory, yes. In practice, I find that no less ugly a hack than my way of doing it, and it adds something to break when I move to a different place, or a different machine, or ... or... or...Gary (-;
#5
Your Milage May Vary
Mark Kromis
08/10/2005 (10:44 am)
Its a feature and you CAN change it. What i do is name a configuration based on a project. For example i make a configuration called examples, for Torque samples, and put (or link) the files to that directory under build. I also have emaga from 3D programming all in one book, and I have a third for my personal project. This makes management easier for me because I just select active build, and it will build to that folder and having that folder reference in Xcode makes access to the files much faster. If you want to look at the configurations from Xcode go Project->Edit Project Settings->Configuration. The only real limitation to this is that they still are created under the build, and you have to manually tweak compiler settings for deployment. Your Milage May Vary
Mark Kromis
#6
Actually, I've changed my directory tree somewhat now, in case anyone's curious.
Basically, I removed anything and everything from "example" that represents compiled type stuff; all .dsos, all object files and temporary build stuff, and binaries and bundles.
I created two new directory trees; one called "Development" and one called "Deployment". The contents of these two trees is a hard link farm from example into them. For a quick easy script to do it, clear out example, and do this:
Make sure you don't create console.log, .dsos, or other relevant stuff in "example", but make all your modifications to torquescript /et al/ in example. It will be reflected in the other configurations. If you add files to example, re-run that script.
Gary (-;
08/10/2005 (11:43 am)
@Mark: Well, renaming one of the configurations would have been fine too, except then I have another configuration...Actually, I've changed my directory tree somewhat now, in case anyone's curious.
Basically, I removed anything and everything from "example" that represents compiled type stuff; all .dsos, all object files and temporary build stuff, and binaries and bundles.
I created two new directory trees; one called "Development" and one called "Deployment". The contents of these two trees is a hard link farm from example into them. For a quick easy script to do it, clear out example, and do this:
cd Desktop/TorqueGameEngineSDK/example
for f in Development Deployment
do
mkdir ../$f
find . -type d -exec mkdir -p ../$f/{} \;
find . -type f -exec ln -f {} ../$f/{} \;
doneMake sure you don't create console.log, .dsos, or other relevant stuff in "example", but make all your modifications to torquescript /et al/ in example. It will be reflected in the other configurations. If you add files to example, re-run that script.
Gary (-;
#7
Since this is gonna be a hassle for everyone who uses TGE on Xcode2.1, I'm thinking there ought to be a quick & easy 'official' fix for this. I've come up with a little script that will solve the issue for most people, and should be very easy to customize for individual projects:
Small caveat: this means that if you're using Xcode2.1, you no longer change the project's build products location to "../example", you just run the script as a one - time setup operation.
Ok, that's it.
Thoughts?
08/11/2005 (8:33 pm)
@all Since this is gonna be a hassle for everyone who uses TGE on Xcode2.1, I'm thinking there ought to be a quick & easy 'official' fix for this. I've come up with a little script that will solve the issue for most people, and should be very easy to customize for individual projects:
#!/bin/bash
if [ -e build ]; then
mv build build-old-'date "+%m.%d.%C%y-%H.%M.%S"'
fi
mkdir build
cd build
ln -s ../../example Default
ln -s ../../example Development
ln -s ../../example DeploymentIt makes symlinks ( unix's version of an alias ) that point to the example directory. You can then move your Torque installation to other parts of your hard drive without fouling the links.Small caveat: this means that if you're using Xcode2.1, you no longer change the project's build products location to "../example", you just run the script as a one - time setup operation.
Ok, that's it.
Thoughts?
Torque Owner Gary "ChunkyKs" Briggs
In conclusion, IT'S A FEATURE, and YOU CAN'T CHANGE IT.
In the meantime, I've put a symlink in TorqueGameEngineSDK called "Development" that points to "example", and have the build target dir one up; ie, my build target dir is now "/Users/chunky/Desktop/TorqueGameEngineSDK".
It's exactly the flithy hack I was hoping to avoid, but apple appear to have decided this one for me. It works, but it's crappy.
Gary (-;