From http://www.jwz.org/xscreensaver/xscreensaver-5.22.tar.gz
[xscreensaver] / OSX / README
1
2 This directory contains the MacOS-specific code for building a Cocoa
3 version of xscreensaver without using X11.
4
5 To build it, just type "make", or use the included XCode project.  The
6 executables will show up in the "build/Release/" and/or "build/Debug/"
7 directories.
8
9 To build these programs, XCode 2.4 or later is required.
10 To run them, MacOS 10.4.0 or later is required.
11
12
13 This is how you add a new screen saver to the Xcode project. It's a
14 ridiculously long list of steps!
15
16   1: Duplicate a target (Dangerball for GL, or Attraction for X11).
17   2: Rename it, and drag it to the right spot in the list.
18   3: Delete the dangerball.c and dangerball.xml files from the new target.
19   4: Delete the "DangerBall copy-Info.plist" file that got created.
20   5: Delete the "DangerBall copy-Info.plist" from the Build Settings too.
21   6: Change PRODUCT_NAME in Build Settings.
22   7: Manage Schemes, rename "DangerBall Copy".
23   8: Move to the right place in the list.
24   9: Scheme / Run: set SELECTED_SAVER environment variable.
25  10: Scheme / Run / Info: Executable: SaverTester.app.
26  11: File / Add Files / the new .c and .xml.
27      Add to targets: the new target, and also "XScreenSaver-iOS".
28  12: Re-order them in the file list.
29  13: In target "All Savers (OpenGL)" add the new target as a dependency.
30  14: In target "XScreenSaver-iOS", reorder new files in "Copy" and "Compile".
31  15: In target "XScreenSaver-iOS", add "-DUSE_GL" to the new file's options.
32  16: Put a 200x150 screen shot in ~/www/xscreensaver/screenshots/
33  17: ln -s ../../src/xscreensaver/OSX/build/Debug/NEW.saver \
34            ~/Library/Screen\ Savers/
35  18: Build "XScreenSaver-iOS" once. then:
36      cd ~/src/xscreensaver/OSX ; make ios-function-table.m
37      and build it again.
38  19: cvs add xscreensaver.xcodeproj/xcuserdata/*/xcschemes/*.xcscheme
39  20: Don't forget to create a man page from the XML with xml2man.pl,
40      and update Makefile.in.