activemq/activemq-cpp
James Strachan 96f78a2c08 patched the #ifdef stuff to work nicely on OS X - not sure why defined(unix) is false
git-svn-id: https://svn.apache.org/repos/asf/incubator/activemq/trunk@418786 13f79535-47bb-0310-9956-ffa450edef68
2006-07-03 15:03:02 +00:00
..
src patched the #ifdef stuff to work nicely on OS X - not sure why defined(unix) is false 2006-07-03 15:03:02 +00:00
unix AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00
win32-gcc AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00
win32-msvc AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00
makefile AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00
makefile-linux-debug.cfg AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00
makefile-linux-release.cfg AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00
makefile-windows-debug.cfg AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00
makefile-windows-release.cfg AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00
makefile.cfg AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00
pom.xml AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00
readme.txt AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00
todo.txt AMQ-517 - adding activemq-cpp project to support integration of c++ stomp and openwire projects. 2006-07-03 11:51:36 +00:00

readme.txt

--------------------------------------------------------------------------
ActiveMQ CPP Library   - Version 0.0.1
--------------------------------------------------------------------------

This library provides a JMS like interface to an ActiveMQ broker in c++.

Currently the Library only supports the Stomp protocol, future versions 
will contain support for openwire.

UNIT Tests
--------------------------------------------------------------------------

The package contains a complete set of cppunit tests.  In order for you
to build an run the tests, you will need to download and install the 
cppunit suite.  

http://cppunit.sourceforge.net/cppunit-wiki

or on Fedora type 

yum install cppunit*

Make sure that the path to the installed cpp unit library and includes is 
visible in your current shell before you try building the tets.

Integration Tests
--------------------------------------------------------------------------

The library also contains a set of tests that are run against a real AMQ
broker.  Running these without a broker will result in failed tests.
The tests currently hardcode the broker url to be tcp://127.0.0.1:61613, 
you can change this by changing the declaration in IntegrationCommon.cpp
in the test-integration src tree.

Notes for Windows users
--------------------------------------------------------------------------

The builds support using the GNU compiler on Windows, we used the MinGW
package.  There is an issues still outstanding with this in that the sockets
break for no reason when built this way.  We therefore suggest that you
stick with using the MSVC compiler when on windows.

There are a couple or things that you will need to setup to ensure that the
MSVC compile succeeds.

* You need to download and install the Platform SDK if you don't have it 
  installed already.
* Ensure that the path to you MSVC install is set in the PATH env variable.
  you can tests this buy typing cl.exe at the command line, if you get an
  error complaining that its not found, then setup you PATH correctly.
* Set the INCLUDE env variable to include the path to your MSVC includes,
  and the platform SDK includes.
  
  i.e. INCLUDE = D:\Program Files\Microsoft Visual Studio 8\VC\include;D:\Program Files\Microsoft Platform SDK\Include

* Set the LIB env variable to include the path to your MSVC libs, and the
  Platform SDK libs.

  i.e. LIB = D:\Program Files\Microsoft Visual Studio 8\VC\lib;D:\Program Files\Microsoft Platform SDK\Lib

Maven Builds
--------------------------------------------------------------------------

The pacakge currently supports building the library only using maven.

The Mojo Native plugin (from the MOJO maven plugins site) is required.

http://mojo.codehaus.org/maven-native/native-maven-plugin/introduction.html

On the windows platform is was necessay to download the source for this
plugin and build it locally, this shouldn't be necessary on non-windows
platforms, but if you have problems, try that first.

You can get the latest source via subversion:

svn co https://svn.codehaus.org/mojo/trunk/mojo/maven-native

Once you have downloaded the source, install the plugin into your local
repository via: mvn install

Using Maven with activemq-cpp

* type mvn package

This will build the library using the default target for the platform 
you are on, which is release, and the gnu compiler for unix platforms, or
the MSVC compiler on windows platforms.

Makefile Builds
--------------------------------------------------------------------------

The Makefile provided requires some env variable to be set

OSTYPE:  This is the OS you are on and is reflected in the names of the
         makefiles.  Currently your choices are Linux or Windows, both use
         the GNU compiler.  

CONFIG:  This is the build Mode you want to execute, i.e. debug or release.

MAKESUPPORT_HOME:  Path to the folder where the Makefiles are stored.

There are three targets available in the Makefile, lib, test, and integration
whose output is fairly obvious.

Using the Makefile:

* type make to build all targets: lib, tests and integration
* type make < Target Name > to build only the target you need.
* type make clean to remove all of the object, library, and executable files.