# How to install BDM

BDM is written as a multiplatform library, which was tested on Linux, Windows and Mac OSX. However, installation on each platform is specific.

BDM comes in two basic versions:

- binary with precompiled executables and matlab mex files that can be configured by external text files
- source code that can be compiled into any required form. Distribution of the binary form is not currently available. It is planned in latter stages of development.

## Source code

is available from svn repository: http://mys.utia.cas.cz:1800/svn/mixpp

For download use an appropriate SVN client http://subversion.tigris.org/links.html#clients

Download the source files to any directory of your choise, this directoory will be refered to as <bdm_dir>.

### Prerequisities

You need to have the following tools available on your system:

- working C++ compiler, e.g. gcc on Linux, or Visual Studio on windows
- CMake, a cross-platform build system, http://www.cmake.org
- ITPP library, http://itpp.sourceforge.net/ which is a part of all major linux distributions, for its installation on Windows, see Section Windows.

## Linux

All prerequisities are available as binary packages for most distribution. E.g. for debian-based distributions, use

    apt-get install g++ cmake libitpp-dev

Note:
  If you want to use mex files, you need to build IT++ from sources using the classi configure;make;make install. The necessary flags for configure for mex compilation are in file linux/configure_itpp.

Compile the BDM library and its applications using

    $ cd directory/with/bdm/sources
    $ cmake .
    $ make

## Windows

The following approach was tested on Visual Studio 9, so we recommend to download and install it. http://www.microsoft.com/express/vc/

Make sure you have cmake installed.

Expert users are advised to download and compile their ITPP version following a guide on : http://itpp.sourceforge.net/current/installation.html

For convenience of the beginners, DLLS of the ACML and lib+include files for ITPP and ACML are provided at: http://staff.utia.cas.cz/smidl/Public/mixpp_win32lib.zip If you want to use them copy the content of the zip file to <bdm_dir>/system/win32/ directory and make sure to set your PATH environment variable:

     Path = %PATH%; <bdm_dir>\system\win32\dll

Otherwise you will not be able to run any programs.

Compilation of BDM:

When everything is set-up, make a copy of system\win32\run_cmake.bat, edit it to reflect your environment (i.e. change paths to cmake and your C++ target environment) and run it.

It should generate build files for your compiler in the main BDM directory

## Mac OS X

All prerequisities for Mac OS X are avaliable except for ITPP, make sure you have them installed.

However, its compilation is straightforward.

1. Download the latest stable release from http://itpp.sourceforge.net 2. Compile it using script system/mac/itpp_compile.sh

The default cmake configuration is looking for itpp in directory mac/itpp, make sure you have symlinks to this directory.

If itpp compilation is successfull, you can run Cmake. Fill in the paths to your BDM directory, run Configure followed by Create. Configuration files for your favourite build environment should be created in the BDM directory.