CMake >= 2.8.11 CMake is required as it is used to generate the Makefiles or Projects/Solutions required to build StoRM. Compiler: A C++11 compliant compiler is required to build StoRM. It is tested and known to work with the following compilers: - GCC 4.9.1 - Clang 3.5.0 - Microsoft Visual Studio 2013 Other versions or compilers might work, but are not tested. The following Compilers are known NOT to work: Microsoft Visual Studio versions older than 2013, GCC versions 4.7 and older. Prerequisites: Boost >= 1.56 Build using the Boost Build system, for x64 use "bjam address-model=64" or "bjam.exe address-model=64 --build-type=complete" You may use --toolset to specify the compiler, for ex. msvc-10.0, intel11.1, etc Doxygen Set DOXYGEN_EXECUTABLE to your doxygen executable, e.g. "C:/Program Files/doxygen/bin/doxygen.exe" GTest >= 1.7.0 GTest is included in the StoRM Sources under /resources/3rdparty/gtest-1.7.0 and builds automatically alongside StoRM CUDD >= 2.5.0 CUDD is included in the StoRM Sources under /resources/3rdparty/cudd-2.5.0 and builds automatically alongside StoRM. Its Sourced where heavily modified as to incorporate newer Versions of Boost, changes in C++ (TR1 to C++11) and to remove components only available under UNIX. Log4CPlus >= 1.1.2 Log4CPlus is included in the StoRM Sources under /resources/3rdparty/log4cplus-1.1.3-rc1 and builds automatically alongside StoRM. Its Sourced where slightly modified as to incorporate Unicode handling under Win32, Clang compatability and shared/static build options. Eigen >= 3.2.1 Eigen is included in the StoRM Sources under /resources/3rdparty/eigen and builds automatically alongside StoRM. GMM >= 4.2 GMM is included in the StoRM Sources under /resources/3rdparty/gmm-4.2 and builds automatically alongside StoRM. LTL2DStar >= 0.5.1 LTL2DStar is included in the StoRM Sources under /resources/3rdparty/ltl2dstar-0.5.1 and builds automatically alongside StoRM. Its Sourced where heavily modified as to incorporate changes in C++ (TR1 to C++11) and to remove components only available under UNIX. Optional: Gurobi >= 5.6.2 Specify the path to the gurobi root dir using -DGUROBI_ROOT=/your/path/to/gurobi Z3 >= 4.3.2 Specify the path to the z3 root dir using -DZ3_ROOT=/your/path/to/z3 MathSAT >= 5.2.11 Specify the path to the mathsat root dir using -DMSAT_ROOT=/your/path/to/mathsat MPIR >= 2.7.0 MSVC only and only if linked with MathSAT Specify the path to the gmp-include directory -DGMP_INCLUDE_DIR=/your/path/to/mathsat Specify the path to the mpir.lib directory -DGMP_MPIR_LIBRARY=/your/path/to/mpir.lib Specify the path to the mpirxx.lib directory -DGMP_MPIRXX_LIBRARY=/your/path/to/mpirxx.lib GMP clang and gcc only and inly if linked with MathSAT CUDA Toolkit >= 6.5 Specify the path to the cuda toolkit root dir using -DCUDA_ROOT=/your/path/to/cuda CUSP >= 0.4.0 Only of built with CUDA Toolkit CUSP is included in the StoRM Sources as a git-submodule unter /resources/3rdparty/cusplibrary It is recommended to make an out-of-source build, meaning that the folder in which CMake generates its Cache, Makefiles and output files should not be the Project Root nor its Source Directory. A typical build layout is to create a folder "build" in the project root alongside the CMakeLists.txt file, change into this folder and execute "cmake .." as this will leave all source files untouched and makes cleaning up the build tree very easy. There are several options available for the CMake Script as to control behaviour and included components. If no error occured during the last CMake Configure round, press Generate. Now you can build StoRM using the generated project/makefiles in the Build folder you selected.