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