wxWidgets/docs/tech/tn0001.txt
Vadim Zeitlin 7ae238e5be updated makefiles generation section
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-09-16 17:37:40 +00:00

54 lines
2.4 KiB
Plaintext

How to add a new sample to wxWindows.
=====================================
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 (possible values are in FORMATS.bkmanifest file in bakefile
source tree)
4. Modify configure.in and samples/configure.in for 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)
c) add foo/Makefile to AC_OUTPUT in samples/configure.in
After this, regenerate configure and samples/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 wxWindows manual. That section
lives in docs/latex/wx/tsamples.tex; look at the descriptions for other
samples, if you are not familiar with LaTeX.
=== EOF ===
Author: VZ
Version: $Id$