Microsoft Visual Studio

The yasmine build was tested with

  • Visual Studio 2015 with the following compilers:

    • Visual Studio 2015 update 3 compiler

    • Visual Studio 2013 update 5 compiler

    • Clang 3.7

    • Clang 3.8

  • Visual Studio 2013 with the following compilers:

    • Visual Studio 2013 update 5 compiler

    • Visual Studio 2015 update 2 compiler

2015 (and 2013)

For Visual Studio 2015 a ready-to-use solution is provided. It contains:

  • yasmine - source code of the yasmine state machine library

  • example projects

    • hello_yasmine - source code of a simple project using yasmine state machine

    • classic_farmroad - source code of a more complex project using yasmine state machines

    • forty_two - source code of a project with a state machine that contains all the different kind of vertices, used for benchmarking and profiling

    • events_with_parameters - source code of a project with two different approaches of using events with parameters

    • substatemachines_and_variables - source code of a project where the concept of a sub-machine is implemented.

  • build folder - the property sheets for the projects

  • yasmine.sln - the solution file that contains all the three projects

  • license folder - the licenses in pdf formats (German and English versions of private/scientific and commercial licenses)

To use the provided solution:

  • Open the solution $YDIR\yasmine\yasmine.sln with Microsoft Visual Studio 2015.

  • Now, choose the configuration you want to build yasmine for and build the project.

  • The available default configurations are:

    • Debug

    • Release

    • Debug with Clang
      For this to work clang has to be installed with Microsoft CodeGen is installed (at least the version from May 2016, it is provided with VS2015 update 2)

    • Debug VS2013
      Requires installed VS2013 compiler.

    • Release VS2013
      Requires installed VS2013 compiler.

  • Build the solution yasmine.

  • The default output location is the folder $YDIR\yasmine\$(Platform)\$(Config).

Now, after the build, the library can be integrated in user projects. For more infos about integrating the yasmine library in a project, visit the page Integrating yasmine.

Older versions

yasmine versions before 0.6.0 are not compatible with versions of Microsoft Visual Studio older than 2013, because these versions do not provide sufficient C++11 support. With C++03 support being available starting with yasmine 0.6.0 it should be possible to build yasmine with Microsoft Visual Studio versions prior to 2013. We haven't tested this yet.

In order to use yasmine with C++03 support, you need to build yasmine with the preprocessor macro Y_CPP03_BOOST set and also provide paths to the boost headers and libraries in the project settings.

Clang

We also test our build with clang under Visual Studio 2015. So setting up a manual build under any platform where clang is available should work without the need of big adjustments.

For learning how to use Clang 3.8 with Visual Studio, please follow this link.