How to compile UltraStar Deluxe using XCode
Please note that the XCode project files are broken at the moment. This is due to some changes in the source files and the folder layout since the XCode project was updated the last time. If you are interested in fixing the project-files (or finishing this wiki-page) we would really appreciate this. You may join our IRC channel for support on the USDX internals and consult our Mac OS X developers mischi on Mac OS X specific problems.
The working alternative is building USDX with Makefile and Fink.
You will only need this tutorial when either no package for your system is available or you want to set up everything so you can easily follow the progress that is made by the developers. So this page documents the whole process how to compile the source from scratch, means we start by obtaining the source and end up with a with not configured but working UltraStar Deluxe.
Some pointers for those who want to use XCode
- Fetch and install FPC 2.2.2 or newer (http://www.freepascal.org)
- Fetch the dependencies (List of required libraries)
- Mac OS X 10.4 only: Install subversion (svn) (Mac OS X 10.5 comes with svn included).
- Fetch the current trunk from the USDX code repository (https://ultrastardx.svn.sourceforge.net/svnroot/ultrastardx/trunk)
- Open the XCode project in the Game/Code/MacOSX directory
Fix the project files
As most of the USDX developers do not own a Mac OS X system and those who do use the Makefile, we are not able to fix the project at the moment.
Some issues that must be fixed:
- The main pascal unit must be set to the platform independent Game/Code/UltraStar.dpr file, the old Mac OS X specific Game/Code/MacOSX/UltraStarDX.pas file is not supported anymore and was removed from the SVN repository.
- Game/Code/resource.inc is included in some source-files. The file resource.inc is auto-generated. Create it by calling
../../Tools/ResourceExtractor UltraStar.rc ../../Resources resource.inc
in the Game/Code directory. Note that ResourceExtractor must be compiled first. Maybe you are able to achieve this with XCode directly.
- You may have to adjust config-darwin.inc according to your libraries' versions. It would be nice if we could provide a zip-file with the needed dylibs here in the future.
- Some files were removed from the repository, some were added or renamed. Those changes must be added to the XCode project.