git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			59 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
                    How to add a new sample to wxWidgets.
 | 
						|
                    =====================================
 | 
						|
 | 
						|
To add a new sample "foo" under directory "samples/foo" you need to do
 | 
						|
the following: (note that all this applies also to demos: just replace
 | 
						|
samples/ with demos/ where needed).
 | 
						|
 | 
						|
1. Create the directory samples/foo locally and "cvs add" it.
 | 
						|
 | 
						|
2. "cvs add" the sample sources (usually based on minimal.cpp) as well.
 | 
						|
 | 
						|
   Note that unless your sample requires something special you shouldn't
 | 
						|
   add foo.rc, foo.ico, ... any more, please just reuse the generic sample.*
 | 
						|
   files in the samples subdirectory.
 | 
						|
 | 
						|
3. Create the makefiles:
 | 
						|
   a) modify samples/samples.bkl (just copy an existing line)
 | 
						|
   b) create foo.bkl (sed 's/minimal/foo/g' minimal.bkl > foo.bkl is usually
 | 
						|
      enough, but you may need to add more <wx-lib> lines if your sample uses
 | 
						|
      anything not in the core lib)
 | 
						|
   c) generate the makefiles for your sample using bakefile. For this you
 | 
						|
      need to:
 | 
						|
      (i) install bakefile (see http://bakefile.sf.net/)
 | 
						|
      (ii) run bakefile_gen in build/bakefiles which will regenerate all
 | 
						|
           makefiles which are not up to date
 | 
						|
 | 
						|
      You may also use "bakefile_gen -b ../../samples/foo/foo.bkl" to
 | 
						|
      regenerate only the makefiles for this sample (path must be relative!)
 | 
						|
      or even add a "-f<compiler>" to generate just the makefiles for the given
 | 
						|
      compiler (run 'bakefile --help' to get the list of possible values).
 | 
						|
      See Technote #16 for more information.
 | 
						|
 | 
						|
4. Modify configure.in Unix compilation:
 | 
						|
   a) if the sample should only be built if "wxUSE_FOO" is enabled, locate
 | 
						|
      the test for "wxUSE_FOO = yes" in configure.in and add a line
 | 
						|
      SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS foo" under it
 | 
						|
   b) if it should be always built, locate the line "if test $wxUSE_GUI = yes"
 | 
						|
      near the end of configure.in and modify the assignment to
 | 
						|
      SAMPLES_SUBDIRS to include "foo" (put in alphabetical order)
 | 
						|
 | 
						|
   After this, regenerate configure from configure.in
 | 
						|
   by running "autoconf" on a Unix system in the corresponding directory.
 | 
						|
 | 
						|
5. Add a short description of what the sample does and how does it work
 | 
						|
   to the "samples overview" section in the wxWidgets manual. That section
 | 
						|
   lives in docs/latex/wx/tsamples.tex; look at the descriptions for other
 | 
						|
   samples, if you are not familiar with LaTeX.
 | 
						|
 | 
						|
6. Add any non-standard sample's files to build/bakefiles/make_dist.mk (the
 | 
						|
   makefiles copies all bmp, cpp, h, ico, png, rc, xpm and makefiles by
 | 
						|
   default, you only need to update it if the sample uses some other files)
 | 
						|
   and run the ./update-manifests.sh script in distrib/scripts (don't forget
 | 
						|
   to check the changes to manifests/*.rsp files in).
 | 
						|
 | 
						|
=== EOF ===
 | 
						|
 | 
						|
Author:  VZ
 | 
						|
Version: $Id$
 |