-/*!
-\page install Installing Simgrid
-
-\section install_cmake Installing the SimGrid library
-
-\subsection install_intro Some generality
-
-\subsubsection install_intro1 What is Cmake?
-
-CMake is a family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice. For more information see official web site <a href="http://www.cmake.org/">here</a>.
-
-\subsubsection install_intro2 Why cmake?
-
-CMake permits to developers to compil projects on different plateforms. Then many tools are embedded like ctest for making test, a link to cdash for vizualise results but also test coverage and bug reports.
-
-\subsubsection install_intro3 What cmake need?
-
-CMake needs some prerequists like :
-
-For Unix and MacOS:
- \li make
- \li perl and libpcre
- \li c and c++ compiler
- \li ccmake for graphical used of CMake
- \li cmake <a href="http://www.cmake.org/cmake/resources/software.html">(download page)</a>
-
-On MacOSX some users reported that it is still possible to build with clang, provided that you
-use at least clang3.0 installed with macport or with xcode. If it fails on you, try to
- use gcc47.
-\verbatim
-port install clang-3.0
-port install gcc47
-\endverbatim
-
-For Windows :
- \li cmake 2.8 <a href="http://www.cmake.org/cmake/resources/software.html">(download page)</a>
- \li MinGW <a href="http://sourceforge.net/projects/mingw/files/MinGW/">(download page)</a>
- \li perl <a href="http://www.activestate.com/activeperl/downloads">(download page)</a>
- \li git <a href="http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe">(download page)</a>
-
-Note that if you want change the compiler, you can simply specify the environment variables CC and CXX.
-\verbatim
- export CC=gcc-4.4
- export CXX=g++-4.4
- export CC=clang
- export CXX=clang++
-\endverbatim
-
-\subsubsection install_cmakeoption1 Liste of options
-
-\verbatim
-"cmake -D[name]=[value] ... ./"
-
-[name] enable_gtnets [value] ON/OFF or TRUE/FALSE or 1/0
- enable_ns3 ON/OFF or TRUE/FALSE or 1/0
- enable_lua ON/OFF or TRUE/FALSE or 1/0
- enable_compile_optimizations ON/OFF or TRUE/FALSE or 1/0
- enable_compile_warnings ON/OFF or TRUE/FALSE or 1/0
- enable_smpi ON/OFF or TRUE/FALSE or 1/0
- enable_maintainer_mode ON/OFF or TRUE/FALSE or 1/0
- enable_tracing ON/OFF or TRUE/FALSE or 1/0
- enable_coverage ON/OFF or TRUE/FALSE or 1/0
- enable_memcheck ON/OFF or TRUE/FALSE or 1/0
- enable_model-checking ON/OFF or TRUE/FALSE or 1/0
- enable_debug ON/OFF or TRUE/FALSE or 1/0
- enable_jedule ON/OFF or TRUE/FALSE or 1/0
- enable_latency_bound_tracking ON/OFF or TRUE/FALSE or 1/0
- enable_lib_static ON/OFF or TRUE/FALSE or 1/0
- enable_supernovae ON/OFF or TRUE/FALSE or 1/0
- enable_msg_deprecated ON/OFF or TRUE/FALSE or 1/0
- enable_print_message ON/OFF or TRUE/FALSE or 1/0
- gtnets_path <path_to_gtnets_directory>
- ns3_path <path_to_ns3_directory>
- CMAKE_INSTALL_PREFIX <path_to_install_directory>
- pipol_user <pipol_username>
-\endverbatim
-
-\subsubsection install_cmakeoption2 Options explaination
-
- \li enable_gtnets : set to true implie that user wants to use gtnets.
-
- \li enable_ns3 : set to true implie that user wants to use ns3.
-
- \li enable_lua : set to true implie that user wants to add lua langage into simgrid compilation.
-
- \li enable_compile_optimizations : add flags "-O3 -finline-functions -funroll-loops -fno-strict-aliasing"
-
- \li enable_compile_warnings : add flags "-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings -Wno-unused-function -Wno-unused-parameter -Wno-strict-aliasing -Wno-format-nonliteral -Werror"
-
- \li enable_smpi : Set to true if you want to use smpi lib. Actually on simgrid v3.4.1 Mac doesn't support lib smpi.
-
- \li enable_maintainer_mode : set to true it remakes some files.
-
- \li enable_tracing : To enable the generation of simulation traces for visualization.
-
- \li enable_coverage : When set to true this option enable code coverage by setting -fprofile-arcs -ftest-coverage flags.
-
- \li enable_memcheck : When set to true this option enable tests for memcheck.
-
- \li enable_model-checking : Enable the model checking when set to true.
-
- \li enable_debug : If enable_debug is set to 'off' Simgrid compil flag has '-DNDEBUG' option.
-
- \li enable_jedule : To enable jedule mode, which creates visualizations of task schedules with Simdag.
-
- \li enable_latency_bound_tracking : Set to on if you want to be warned when communications are limited by round trip time.
-
- \li enable_lib_static : Enable generated Simgrid and smpi static libraries.
-
- \li enable_supernovae : Set to true make one file for each lib and compile with those generated files.
-
- \li enable_msg_deprecated : Simgrid is compiled with msg deprecated functions.
-
- \li enable_print_message : When set to true configuration print more debug output.
-
- \li gtnets_path : Path to gtnets install directory (ex /usr)
-
- \li ns3_path : Path to ns3 install directory (ex /usr)
-
- \li CMAKE_INSTALL_PREFIX : Path where are installed lib/ doc/ and include/ directories (ex /usr/local)
-
- \li pipol_user : specify your pipol username if you want to use the pipol-remote command.
-
-\subsubsection install_cmakeoption3 Initialisation
-
-Those options are initialized the first time you launch "cmake ." whithout specified option.
-
-\verbatim
-enable_gtnets on
-enable_lua on
-enable_smpi on
-enable_tracing on
-enable_compile_optimizations on
-enable_debug on
-enable_compile_warnings off
-enable_maintainer_mode off
-enable_coverage off
-enable_memcheck off
-enable_model-checking off
-enable_jedule off
-enable_latency_bound_tracking off
-enable_lib_static off
-CMAKE_INSTALL_PREFIX /usr/local
-gtnets_path null
-pipol_user null
-\endverbatim
-
-\subsubsection install_cmakeoption4 Option's cache and how to reset?
-
-When options have been set they are keep into a cache file named "CMakeCache.txt". So if you want
-reset values you just delete this file located to the project directory.
-
-\subsection install_cmakecompilation Cmake compilation
-
-\subsubsection install_cmakecompilation1 With command line.
-
-On Unix or Mac platform:
-
-\verbatim
-cmake -D[name]=[value] ... ./
-make
-\endverbatim
-
-On Windows platform:
-
-\verbatim
-cmake -G"MinGW Makefiles" -D[name]=[value] ... ./
-mingw32-make
-\endverbatim
-
-\subsubsection install_cmakecompilation2 With ccmake tool.
-
-\verbatim
-"ccmake ./"
-\endverbatim
-Then follow instructions.
-
-\subsubsection install_cmakecompilation2bis Build out of source.
-
-As cmake generate many files used for compilation, we recommand to make a build directory.
-For examples you can make :
-
-\verbatim
-"navarrop@caraja:~/Developments$ cd simgrid/"
-"navarrop@caraja:~/Developments/simgrid$ mkdir build_directory"
-"navarrop@caraja:~/Developments/simgrid$ cd build_directory/"
-"navarrop@caraja:~/Developments/simgrid/build_directory$ cmake ../"
-"navarrop@caraja:~/Developments/simgrid/build_directory$ make"
-\endverbatim
-
-Or complety out of sources :
-
-\verbatim
-"navarrop@caraja:~/Developments$ mkdir build_dir"
-"navarrop@caraja:~/Developments$ cd build_dir/"
-"navarrop@caraja:~/Developments/build_dir$ cmake ../simgrid/"
-"navarrop@caraja:~/Developments/build_dir$ make"
-\endverbatim
-
-Those two kind of compilation permit to delete files created by compilation easier.
-
-\subsubsection install_cmakecompilation3 Resume of command line
-
- \li CMake
-\verbatim
-cmake <path> configure the project for Unix and Mac
-cmake -G"MinGW Makefiles" <path> configure the project for Windows
-make build all targets for Unix and Mac
-ming32-make buill all targets for windows
-(g)make VERBOSE=1 build all targets and print build command lines
-make check test all targets and summarize
-make dist make the distrib
-make distcheck check the dist (make + make dist + make check)
-(g)make install install the project (doc/ bin/ lib/ include/)
-(g)make uninstall uninstall the project (doc/ bin/ lib/ include/)
-(g)make clean clean all targets
-make simgrid_documentation Create simgrid documentation
-\endverbatim
-
-When the project have been succesfully compiling and build you can make tests.
-
- \li CTest
-\verbatim
-ctest launch only tests
-ctest -D Continuous
-ctest -D Continuous(Start|Update|Configure|Build)
-ctest -D Continuous(Test|Coverage|MemCheck|Submit)
-ctest -D Experimental
-ctest -D Experimental(Start|Update|Configure|Build)
-ctest -D Experimental(Test|Coverage|MemCheck|Submit)
-ctest -D Nightly
-ctest -D Nightly(Start|Update|Configure|Build)
-ctest -D Nightly(Test|Coverage|MemCheck|Submit)
-ctest -D NightlyMemoryCheck
-\endverbatim
-
-If you want to test before make a commit you can simply make "ctest -D Experimental" and then you can visualize results submitted into Cdash. <a href="http://cdash.inria.fr/CDash/index.php?project=Simgrid">(Go to Cdash site)</a>.
-
-\subsection install_cmakeinstall How to install with cmake?
-
-\subsubsection install_cmakeinstall1 From Git.
-
-\verbatim
-git clone git://scm.gforge.inria.fr/simgrid/simgrid.git simgrid
-cd simgrid
-cmake -Denable_maintainer_mode=on -DCMAKE_INSTALL_PREFIX=/home/navarrop/Bureau/install_simgrid ./