Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
C++ Shell C

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.metadata
src
tools
.DS_Store
.gitignore
AUTHORS
COPYING
ChangeLog
INSTALL
Makefile.am
Makefile.in
NEWS
README
aclocal.m4
compile
config.guess
config.sub
configure
configure.ac
depcomp
fabfile.py
install-sh
missing
test-driver

README

OOI C++ code

Prereqs
=======

For testing the google test framework and socat needs to be installed. 

On OS X:
brew install gtest
brew install gmock
brew install socat


Project setup
=============
This project is setup using automake and autoconf.  Every source directory 
needs a Makefile.am file.  Also each make file must exsist in the 
AC_CONFIG_FILES variable in the configure.ac file in the project source dir.

We are using the google test framework for unit testing.  Every source directory
should have a test directory.

Binary Releases
===============
Release are number in dotted format following the major/minor/bug versioning
scheme.  When making a modification to any source files you need to tag the
repository after all files are committed and checked in.  Make sure that if
you do make code modifications that you do a point release.

Procedure:
- run all tests
   * make check
- Release in a virtualenv with fabric installed. (makevirtualenv fab,
  easy_install fabric)
- workon fab (work in your fab virtualenv)
- fab release (following the prompts)

Deployment Instructions:

- fab ion_alpha deploy
- fab ion_beta deploy

Updating Makefile.am or configure.ac
====================================
Whenever Makefile.am or configure.ac are update files must be rebuild.  To do
this run:

$ autoreconf --force --install

When adding a new target library make sure to add the target to 
src/Makfile.am.inc.

Building the project
====================
$ ./configure --prefix=<install_dir>
$ make

# Run all tests
$ make check

# Install code
$ make install

# cleaning up
$ make clean

Something went wrong with that request. Please try again.