# Building from Source The source code is built using CMake, the process of building uscxml is essentially the same on every platform: 1. Read the [Platform Notes](#platform-notes) below to prepare your system. 2. Checkout uscxml into a convenient directory: git clone git://github.com/tklab-tud/uscxml.git 3. Create a new directory for an *out-of-source* build. I usually create sub-directories in <USCXML_SRC>/build/. 4. Run cmake (or ccmake / CMake-GUI) to create the files required by your actual build-system. 5. Use your actual build-system or development environment to build uscxml. 6. Read the SCXML draft and have a look at the tests to get started. If you want to build for another IDE or build-system, just create a new *out-of-source* build directory and start over with cmake. To get an idea of supported IDEs and build-environments on your platform, type cmake --help or run the CMake-GUI and look for the *Generators* section at the end of the output. Default on Unices is Makefiles. # Build Dependencies Overview of the uscxml dependencies. See the [Platform Notes](#platform-notes) for details. Note: We download pre-compiled versions of most dependencies at cmake configure-time. If you want to provide you own libraries, remove them from <USCXML_SRC>/contrib/prebuilt/ and provide your own.
Platform | Dependency | Version | Comment |
---|---|---|---|
Everyone | CMake required |
>= 2.8.6 | The build-system used for uscxml. |
libevent pre-compiled |
>= 2.1.x | Event queues with callbacks and the HTTP server. | |
curl required |
>= 7.29.0 | URL downloads. | |
v8 pre-compiled |
svn checkout | ECMAScript datamodel implementation. | |
SWI Prolog pre-compiled for unices |
>= 6.3.x | Prolog datamodel implementation. | |
glog pre-compiled |
>= 0.3.3 | Logging library. | |
Arabica pre-compiled |
>= git checkout | XML DOM / XPath / XML Events. | |
SQLite optional |
>= 3.7.15.2 | Persistence and sqlite invoker. | |
OpenSceneGraph optional |
>= 3.1.X | 3D invokers (scenegraph, osgconvert). | |
Doxygen recommended |
Used by make docs to generate documentation from source comments. | ||
Mac OSX | XCode required |
4.2.1 works | Apples SDK with all the toolchains. |
MacPorts recommended |
>= 2.0.3 | Build system for a wide selection of open-source packages. | |
libxml2 pre-installed |
>= 2.6.16 | Actual XML parser used by Arabica. | |
Linux | libxml2 required |
>= 2.6.16 | Actual XML parser used by Arabica. |
Windows | Visual Studio 10 required |
v10 pro works | As a student, you can get your version through MSAA. |