annotate Xcode/SDL/pkg-support/Readme SDL Developer.txt @ 3314:8b01b0648f01

Fixed bug #734 Nicholas Phillips 2009-04-26 21:34:05 PDT I am using x64 Linux (using Intel Core 2 DUO), and I have noticed that there is an error in SDL_cpuinfo.c, function CPU_getCPUIDFeaturesExt for my platform.
author Sam Lantinga <slouken@libsdl.org>
date Sat, 26 Sep 2009 10:04:38 +0000
parents 9e9a2476f704
children
rev   line source
3303
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
1 SDL Mac OS X Developer Notes:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
2 This is an optional developer package to provide extras that an
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
3 SDL developer might benefit from.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
4
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
5 Make sure you have already installed the SDL.framework
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
6 from the SDL.dmg.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
7
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
8 For more complete documentation, please see READMEs included
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
9 with the SDL source code. Also, don't forget about the API
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
10 documentation (also included with this package).
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
11
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
12
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
13 This package contains:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
14 - SDL API Documentation
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
15 - A variety of SDLMain and .Nib files to choose from
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
16 - Xcode/Project Builder project templates
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
17
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
18
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
19 SDL API Documentation:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
20 We include both the HTML documentation and the man files. For
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
21 the HTML documentation, we have previously been installing to
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
22 /Develoepr/Documentation, but Apple explicitly says this is not
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
23 intended for 3rd party documentation. Xcode installs/updates
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
24 reserve the right and have been known to completely purge the
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
25 /Developer directory before installation, so if you place stuff
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
26 there, be aware that it could be deleted.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
27 (Xcode 3.0 introduces support for 3rd-party documentation, but
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
28 we are still investigating the details.)
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
29
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
30
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
31 SDLMain:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
32 We include several different variations of SDLMain and the
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
33 .Nibs. (Each of these are demonstrated by the different PB/Xcode
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
34 project templates.) You get to pick which one you want to use,
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
35 or you can write your own to meet your own specific needs. We do
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
36 not currently provide a libSDLMain.a. You can build it yourself
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
37 once you decide which one you want to use though it is easier and
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
38 recommended in the SDL FAQ that you just copy the SDLMain.h and
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
39 SDLMain.m directly into your project. If you are puzzled by this,
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
40 we strongly recommend you look at the different PB/Xcode project
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
41 templates to understand their uses and differences. (See Project
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
42 Template info below.) Note that the "Nibless" version is the same
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
43 version of SDLMain we include the the devel-lite section of the
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
44 main SDL.dmg.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
45
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
46
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
47 Xocde Project Templates:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
48 For convenience, we provide Project Templates for Xcode.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
49 Using Xcode is *not* a requirement for using
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
50 the SDL.framework. However, for newbies, we do recommend trying
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
51 out the Xcode templates first (and work your way back to raw gcc
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
52 if you desire), as the Xcode templates try to setup everything
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
53 for you in a working state. This avoids the need to ask those
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
54 many reoccuring questions that appear on the mailing list
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
55 or the SDL FAQ.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
56
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
57
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
58 We have provided 3 different kinds of SDL templates for Xcode and have
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
59 a different set of templates for each version of Xcode (which generally
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
60 correspond with a particular Mac OS X version).
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
61 The installion directory depends on which version of Xcode you have.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
62 (Note: These directories may not already exist on your system so you must create them yourself.)
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
63
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
64 For Leopard and Snow Leopard (Xcode 2.5, 3+), we recommend you install to:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
65 /Library/Application Support/Developer/Shared/Xcode/Project Templates/Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
66
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
67 For Xcode 1.0 to 2.4,
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
68 /Library/Application Support/Apple/Developer Tools/Project Templates/Appllcation
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
69
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
70
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
71 Also note you may place it in per-user locations, e.g.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
72 ~/Library/Application Support/Developer/Shared/Xcode/Project Templates/Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
73
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
74
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
75 And for advanced users who have multiple versions of Xcode installed on a single system,
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
76 you may put each set in a directory with the Xcode version number instead of using "Shared", e.g.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
77 /Library/Application Support/Developer/2.5/Xcode/Project Templates/Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
78 /Library/Application Support/Developer/3.1/Xcode/Project Templates/Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
79 /Library/Application Support/Developer/3.2/Xcode/Project Templates/Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
80
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
81
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
82 Copy each of the SDL/Xcode template directories into the correct location (e.g. "SDL OpenGL Application").
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
83 Do not copy our enclosing folder into the location (e.g. TemplatesForXcodeSnowLeopard).
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
84 So for example, in:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
85 /Library/Application Support/Developer/Shared/Xcode/Project Templates/Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
86 you should have the 3 folders:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
87 SDL Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
88 SDL Cocoa Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
89 SDL OpenGL Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
90
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
91
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
92 After doing this, when doing a File->New Project, you will see the
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
93 projects under the Application category.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
94 (Newer versions of Xcode have a separate section for User Templates and it will
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
95 appear in the Application category of the User Templates section.)
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
96
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
97
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
98
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
99 How to create a new SDL project:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
100
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
101 1. Open Xcode (or Project Builder)
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
102 2. Select File->New Project
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
103 3. Select SDL Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
104 4. Name, Save, and Finish
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
105 5. Add your sources.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
106 *6. That's it!
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
107
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
108 * If you installed the SDL.framework to $(HOME)/Library/Frameworks
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
109 instead of /Library/Frameworks, you will need to update the
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
110 location of the SDL.framework in the "Groups & Files" browser.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
111
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
112
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
113 The project templates we provide are:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
114 - SDL Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
115 This is the barebones, most basic version. There is no
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
116 customized .Nib file. While still utilizing Cocoa under
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
117 the hood, this version may be best suited for fullscreen
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
118 applications.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
119
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
120 - SDL Cocoa Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
121 This demonstrates the integration of using native
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
122 Cocoa Menus with an SDL Application. For applications
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
123 designed to run in Windowed mode, Mac users may appreciate
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
124 having access to standard menus for things
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
125 like Preferences and Quiting (among other things).
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
126
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
127 - SDL OpenGL Application
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
128 This reuses the same SDLMain from the "SDL Application"
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
129 temmplate, but also demonstrates how to
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
130 bring OpenGL into the mix.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
131
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
132
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
133 Special Notes:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
134 Only the 10.6 Snow Leopard templates (and later) will include 64-bit in the Universal Binary as
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
135 prior versions of OS X lacked the API support SDL requires for 64-bit to work correctly.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
136 To prevent 64-bit SDL executables from being launched on 10.5 Leopard, a special key has been set
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
137 in the Info.plist in our Snow Leopard SDL/Xcode templates.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
138
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
139
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
140 Xcode Tips and Tricks:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
141
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
142 - Building from command line
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
143 Use the command line tool: xcodebuild (see man page)
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
144
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
145 - Running your app
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
146 You can send command line args to your app by either
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
147 invoking it from the command line (in *.app/Contents/MacOS)
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
148 or by entering them in the "Executables" panel of the target
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
149 settings.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
150
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
151 - Working directory
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
152 As defined in the SDLMain.m file, the working directory of
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
153 your SDL app is by default set to its parent. You may wish to
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
154 change this to better suit your needs.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
155
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
156
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
157
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
158 Additional References:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
159
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
160 - Screencast tutorials for getting started with OpenSceneGraph/Mac OS X are
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
161 available at:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
162 http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/MacOSXTips
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
163 Though these are OpenSceneGraph centric, the same exact concepts apply to
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
164 SDL, thus the videos are recommended for everybody getting started with
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
165 developing on Mac OS X. (You can skim over the PlugIns stuff since SDL
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
166 doesn't have any PlugIns to worry about.)
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
167
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
168
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
169 Partial History:
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
170 2009-09-21 - CustomView template project was removed because it was broken by
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
171 the removal of legacy Quicktime support while moving to 64-bit.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
172 ProjectBuilder templates were removed.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
173 Tiger, Leopard, and Snow Leopard Xcode templates were introduced instead of
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
174 using a single common template due to the differences between the 3.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
175 (Tiger used a chevron marker for substitution while Leopard/Snow Leopard use ___
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
176 and we need the 10.6 SDK for 64-bit.)
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
177
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
178 2007-12-30 - Updated documentation to reflect new template paths in Leopard
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
179 Xcode. Added reference to OSG screencasts.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
180
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
181 2006-03-17 - Changed the package format from a .pkg based
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
182 installer to a .dmg to avoid requiring administrator/root
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
183 to access contents, for better transparency, and to allow
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
184 users to more easily control which components
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
185 they actually want to install.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
186 Introduced and updated documentation.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
187 Created brand new Xcode project templates for Xcode 2.1
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
188 based on the old Project Builder templates as they
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
189 required Xcode users to "Upgrade to Native Target". The new
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
190 templates try to leveage more default options and leverage
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
191 more Xcode conventions. The major change that may introduce
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
192 some breakage is that I now link to the SDL framework
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
193 via the "Group & Files" browser instead of using build
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
194 options. The downside to this is that if the user
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
195 installs the SDL.framework to a place other than
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
196 /Library/Frameworks (e.g. $(HOME)/Library/Frameworks),
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
197 the framework will not be found to link to and the user
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
198 has to manually fix this. But the upshot is (in addition to
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
199 being visually displayed in the forefront) is that it is
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
200 really easy to copy (embed) the framework automatically
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
201 into the .app bundle on build. So I have added this
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
202 feature, which makes the application potentially
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
203 drag-and-droppable ready. The Project Builder templates
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
204 are mostly unchanged due to the fact that I don't have
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
205 Project Builder. I did rename a file extension to .pbxproj
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
206 for the SDL Custom Cocoa Application template because
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
207 the .pbx extension would not load in my version of Xcode.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
208 For both Project Builder and Xcode templates, I resync'd
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
209 the SDLMain.* files for the SDL App and OpenGL App
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
210 templates. I think people forget that we have 2 other
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
211 SDLMain's (and .Nib's) and somebody needs to go
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
212 through them and merge the new changes into those.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
213 I also wrote a fix for the SDL Custom Cocoa App
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
214 template in MyController.m. The sprite loading code
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
215 needed to be able to find the icon.bmp in the .app
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
216 bundle's Resources folder. This change was needed to get
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
217 the app to run out of the box. This might change is untested
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
218 with Project Builder though and might break it.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
219 There also seemed to be some corruption in the .nib itself.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
220 Merely opening it and saving (allowing IB to correct the
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
221 .nib) seemed to correct things.
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
222 (Eric Wing)
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
223
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
224
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
225
9e9a2476f704 Updated Xcode project from Eric Wing
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
226