bootstrap-build-environment

Simply setup a new project:
 1. create a subversion basic tree
 2. checkoutsubversion repository
 3. cd into the new project subversion working copy
 4. call with full path: /path/to/bootstrap.sh
 5. if trunk has been created, cd to trunk
 6. follow the instructions, i.e. edit configure.ac
 7. run again: /path/to/bootstrap.sh
 8. add some generated files: svn add COPYING ChangeLog INSTALL
 9. check files, i.e. all makefile.am, set Section in debian/control.in
10. your project is setup and compilable, test: ./bootstrap.sh -b
 

Fore more details, see:
  ./bootstrap.sh -h

Supports and preconfigures:
 - C++ including:
    - Qt
    - Library dependencies
    - CPP-Unit
    - PKG-Config dependency file
 - Doxygen for documentation
 - Scripts
 - HTML / Web projects
 - Examples
 - Tests
 - Debian packaging
 - RPM packaging
 - Mac OSX App Bundle creation

Example:

There is a just created empty subversion repository:
  https://dev.marc.waeckerlin.org/svn/project-name

Setup a basic project:

    svn co https://dev.marc.waeckerlin.org/svn/project-name
    cd project-name
    ../bootstrap-build-environment/scripts/bootstrap.sh
    cd trunk

The file AUTHORS is already correct due to my gnupg setup:

    Fistname Lastname (https://my.homepage.xyz) <me@mysite.xyz>

Edit the file README, I add the following lines:

    First line is the headline, the short description, e.g. in the packages
    
    The following lines describe your project...
    They also appear in the package description

Edit configure.ac, since I want to publish scripts, generate doxygen, debian and rpm packages, I enable the following lines:

    AX_USE_SCRIPTS
    AX_USE_DOXYGEN
    AX_USE_DEBIAN_PACKAGING
    AX_USE_RPM_PACKAGING

Also I check "Section" in debian/control.in and set it do development.

Then I continue, I rerun bootstrap.sh, this time with option -b which calls make distcheck at the end:

    ../../bootstrap-build-environment/scripts/bootstrap.sh -b

Add some additional files:

    svn add trunk/{COPYING,INSTALL,ChangeLog}

Everything is fine, so checkin the changes and cleanup the system:

    cd ..
    svn ci -m "initial project creation"
    cd ..
    rm -rf project-name
    svn co https://dev.marc.waeckerlin.org/svn/project-name/trunk project-name