diff --git a/CMakeLists.txt b/CMakeLists.txt index d6ff09d75..a811c1507 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -270,7 +270,7 @@ if(DOXYGEN_FOUND) set(CMAKE_DOXYGEN_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/doc") string(REGEX REPLACE ";" " " CMAKE_DOXYGEN_INPUT_LIST "${PROJECT_SOURCE_DIR}/src") - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" @ONLY) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/resources/doxygen/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" @ONLY) add_custom_target(doc ${DOXYGEN_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" COMMENT "Generating API documentation with Doxygen" VERBATIM) endif(DOXYGEN_FOUND) @@ -333,6 +333,6 @@ add_custom_target(memcheck-functional-tests valgrind --leak-check=full --show-re add_custom_target(memcheck-performance-tests valgrind --leak-check=full --show-reachable=yes ${PROJECT_BINARY_DIR}/storm-performance-tests -v --fix-deadlocks DEPENDS storm-performance-tests) set(CPPLINT_ARGS --filter=-whitespace/tab,-whitespace/line_length,-legal/copyright,-readability/streams) -add_custom_target(style python cpplint.py ${CPPLINT_ARGS} `find ./src/ -iname "*.h" -or -iname "*.cpp" `) +add_custom_target(style python resources/3rdparty/cpplint/cpplint.py ${CPPLINT_ARGS} `find ./src/ -iname "*.h" -or -iname "*.cpp" `) include(StormCPackConfig.cmake) diff --git a/README.md b/README.md new file mode 100644 index 000000000..4a76de895 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +For more instructions, check out the documentation found in [Getting Started](doc/getting-started.md) diff --git a/doc/build.md b/doc/build.md new file mode 100644 index 000000000..23f2fc67e --- /dev/null +++ b/doc/build.md @@ -0,0 +1,23 @@ +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 5.0 + - Clang 3.5.0 + + 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.60 + Build using the Boost Build system, for x64 use "bjam address-model=64" or "bjam.exe address-model=64 --build-type=complete" + + +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. \ No newline at end of file diff --git a/doc/dependencies.md b/doc/dependencies.md new file mode 100644 index 000000000..9b4b5c290 --- /dev/null +++ b/doc/dependencies.md @@ -0,0 +1,41 @@ + + + + Included Dependencies: + Carl 1.0 + + CUDD 3.0.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. + + Eigen 3.3 beta1 + Eigen is included in the StoRM Sources under /resources/3rdparty/eigen and builds automatically alongside StoRM. + + + GTest 1.7.0 + GTest is included in the StoRM Sources under /resources/3rdparty/gtest-1.7.0 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. + + +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 +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 + diff --git a/doc/getting-started.md b/doc/getting-started.md new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/doc/getting-started.md @@ -0,0 +1 @@ + diff --git a/resources/3rdparty/CMakeLists.txt b/resources/3rdparty/CMakeLists.txt index a539f8b98..dff6db394 100644 --- a/resources/3rdparty/CMakeLists.txt +++ b/resources/3rdparty/CMakeLists.txt @@ -204,6 +204,7 @@ if(USE_CARL) LOG_INSTALL ON ) + add_dependencies(resources xercesc) include_directories(${STORM_3RDPARTY_BINARY_DIR}/carl/include) list(APPEND STORM_LINK_LIBRARIES ${STORM_3RDPARTY_BINARY_DIR}/carl/lib/libcarl${DYNAMIC_EXT}) set(STORM_HAVE_CARL ON) diff --git a/cpplint.py b/resources/3rdparty/cpplint/cpplint.py similarity index 100% rename from cpplint.py rename to resources/3rdparty/cpplint/cpplint.py diff --git a/resources/BUILD.txt b/resources/BUILD.txt deleted file mode 100644 index 4057b110a..000000000 --- a/resources/BUILD.txt +++ /dev/null @@ -1,64 +0,0 @@ -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. \ No newline at end of file diff --git a/doc/Doxyfile.in b/resources/doxygen/Doxyfile.in similarity index 100% rename from doc/Doxyfile.in rename to resources/doxygen/Doxyfile.in