I have finally done it, I bought a Mac. A few weekends ago, I bought a MacBook Pro and then last weekend I upgraded to Leopard. The computer was expensive (I got an academic discount and the upgrade to Leopard was basically free, but still…) but it sure is a nice machine. I now have a video card with decent shader support, so I am excited to play around with that. It is also nice to have a unix-based machine with decent driver support out of the box. The wireless card actually works! Amazing! However, I really feel lost trying to do development in OS X and in some ways I feel lost just trying to use the computer.
I really have not quite gotten used to the way the filesystem is arranged. I guess I am comfortable with it not being like Windows, but I want it to be like linux. In Windows, there is no “/usr/lib/” or “/usr/local/lib/” for libraries so you put them somewhere else (like “C:\OgreSDK” or in program files or something). In OS X there is a “/usr/lib/” and “/usr/local/lib/” but it looks like the preferred place to install libraries is into “/Libraries/” which is just weird. Which should I use? Should I treat it as a unix machine, or embrace the weird OS X stuff?
The keyboard also is a little annoying. I want a “home” and an “end” key. I want a “del” key that is separate from the backspace key. I guess you can do “command-right” to get to the end of the line, but that does not seem to work consistently in all applications. I also really think only putting one mouse button on the laptops is a poor decision. And no, I don’t buy the argument that using modifier keys for things like that or to get a right-click is somehow more efficient.
I am also trying to figure out how to get dependencies for Protocce installed. Ogre was really easy since they provide a framework. If I remember correctly from his blog, Steve Streeting got a Mac recently so OS X has a higher priority on the Ogre team. The ogg and vorbis packages came with XCode projects to make frameworks, so building and installing them was really easy. I couldn’t find a binary boost distribution, so I built/installed it just like I would have in linux (“./configure && make && make install”). That is what boost recommends, but I’m not sure that is the OS X way to do things. At this point though, I don’t think there is reason to go through the trouble of making a framework (and really figuring out what frameworks are all about, how they differ from bundles, what a bundle is, etc.). Unfortunately, OS X support in CEGUI seems to be lagging behind. CEGUI seems to be kind of quiet lately anyway (Crazy Eddie appears to have left the project, hopefully it can rise from the ashes and continue strongly eventually). I am going to try building it from SVN where I hope the OS X support is a little better.
XCode seems like it will be nice. I need to try a “hello world” project in it, but it looks like CMake can generate XCode projects. That will be save a lot of work, since it will shield me from having to set up a project manually until after I see how Xcode handles projects a little. I’m sure it’ll still take some getting used to, but I’m interested to see how it compares to Eclipse with the CDT and Visual Studio.
Anyway, if you have tips on getting started with development is OS X, let me know. I found Apple’s getting started page and it seems there could be some good stuff in there., but I have a lot to learn.
The generated XCode projects from CMake leave something to be desired. They do not include any of the headers for your project. All settings, like which files you have open are destroyed when you regenerate the project. XCode also does handler interproject dependencies as well as the make based builds do.
I have found the Eclipse CDT projects generated by the latest version of CMake to be more productive.
You should also check out Macports before you start cluttering your system with manually installed software packages.
I looked at Fink and MacPorts and was not terribly impressed with either of them. Fink puts stuff in “/sw/”. I guess that is to avoid conflicts with stuff in “/usr/local/” but it seems like I should either embrace the Mac way to do things or stick with Unix standards. I don’t really want to have a bunch of crap from weird unofficial package systems. It also seemed like many packages required the Fink version of python instead of using the version that comes with OS X. I also don’t want duplicated copies of python on my system. I looked briefly at MacPorts, but got the impression most people preferred Fink. Is MacPorts a better choice?
Thanks for the heads up about the XCode projects. It’s too bad they aren’t better. I have similar issues with the Visual Studio projects not including headers, but I think I can fix that by including all the headers in the source list in the CMakeLists.txt file. I haven’t gotten around to trying it yet, but maybe that will help XCode too. Like you say though, at least I can always fall back on make or Eclipse if it doesn’t work well.
Looking forward to the possibility of a Mac OS X version of this game. I love pirates.
As for the single mouse button tap the mouse pad with two fingers. Tada, right mouse click.
If you’re after a tester I’m more than willing to help out.
Thanks for the tip! I didn’t have the two-finger right click enabled in osx (it worked in boot camp though), but I enabled it. Much better…
I am planning to do most of my development in osx now, I just need to get my dependencies all set up and working. That has been more work than I expected, but my schedule just freed up so I hope to have much more time to work on Crown and Cutlass now. I’m sure we will be able to use your help as a tester, thanks.
[...] I mentioned before, I recently made the switch to a mac. I have been pretty happy, although I still don’t quite feel at home in terms of my [...]