+ \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_maintainer_mode : set to true make doc and remake files with flex flexml.
+\verbatim
+/doc/html
+/src/gras/DataDesc/ddt_parse.yy.c
+/src/surf/simgrid_dtd.c
+/src/xbt/graphxml.c
+/src/simdag/dax_dtd.c
+/include/surf/simgrid_dtd.h
+/include/xbt/graphxml.h
+/src/simdag/dax_dtd.h
+\endverbatim
+ \li supernovae : set to true make one file for each lib and compile with those generated files.
+\verbatim
+/src/supernovae_sg.c
+/src/supernovae_gras.c
+/src/supernovae_smpi.c
+\endverbatim
+ \li gtnets_path : Path to gtnets install directory (ex /usr)
+
+ \li prefix : Path where are installed lib/ doc/ and include/ directories (ex /usr/local)
+
+ \li with context : specify which context the user wants to use.
+
+\subsubsection faq_cmakeoption3 Initialisation
+
+Those options are initialized the first time you launch \"cmake ./\" whithout specified option.
+
+\verbatim
+with_context auto
+enable_maintainer_mode off
+supernovae off
+disable_java off
+disable_lua off
+enable_compile_warnings off
+enable_compile_optimizations off
+disable_gtnets off
+disable_ruby on
+\endverbatim
+
+\subsubsection faq_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 faq_cmakecompilation Cmake compilation
+
+\subsubsection faq_cmakecompilation1 With command line.
+
+\verbatim
+cmake -D[name]=[value] ... ./
+make
+\endverbatim
+
+\subsubsection faq_cmakecompilation2 With ccmake tool.
+
+\verbatim
+"ccmake ./"
+\endverbatim
+Then follow instructions.
+
+\subsubsection faq_cmakecompilation3 Resume of command line
+
+ \li CMake
+\verbatim
+cmake ./ configure the project
+make build all targets
+make VERBOSE=1 build all targets and print build command lines
+make test test all targets and summarize
+make package make the distrib
+make install-simgrid install the project (doc/ lib/ include/)
+make clean clean all targets
+make html 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
+
+\subsubsection faq_cmakecompilation4 Examples for different mode.
+
+\li Mode maintainer
+
+cmake -Denable_maintainer_mode=on ./
+\verbatim GTnetS doesn't works : set -Ddisable_gtnets=on
+with_context auto change to ucontext
+(skaddr)
+(sksize)
+Make : src/simgrid.jar with : /usr/bin/javac
+Make examples/java with : /usr/bin/javac
+
+Configuration of package `simgrid' (revision 7228M) on arch (=4):
+ BUILDNAME : UCONTEXT
+ SITE : Linux_Ubuntu 9.10_x86_64
+
+ Compiler: c++ : /usr/bin/c++
+ version: c++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1
+ c : /usr/bin/gcc
+ version: gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1
+
+ CFlags: -g3
+ CPPFlags:
+ LDFlags:
+
+ Context backend: ucontext
+ Compile Gtnets: 0
+ path:
+ Compile Java: 1
+ Compile Lua: 1
+ Compile Ruby: 0
+
+ Maintainer mode: on
+ Supernovae mode: off
+
+ Simgrid dependencies: dl -llua5.1
+ Gras dependencies: pthread
+ Ruby dependencies:
+ Smpi dependencies:
+
+ USER_PREFIX: /usr/local
+ INSTALL_PREFIX: /usr/local
+
+-- Configuring done
+-- Generating done
+-- Build files have been written to: /home/navarrop/Bureau/simgrid-trunk
+\endverbatim
+
+\li Mode supernovae
+
+cmake -Dsupernovae=on ./
+\verbatim GTnetS doesn't works : set -Ddisable_gtnets=on
+with_context auto change to ucontext
+(skaddr)
+(sksize)
+Make : src/simgrid.jar with : /usr/bin/javac
+Make examples/java with : /usr/bin/javac
+
+Configuration of package `simgrid' (revision 7228M) on arch (=4):
+ BUILDNAME : SUPERNOVAE
+ SITE : Linux_Ubuntu 9.10_x86_64
+
+ Compiler: c++ : /usr/bin/c++
+ version: c++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1
+ c : /usr/bin/gcc
+ version: gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1
+
+ CFlags: -O3 -finline-functions -funroll-loops -fno-strict-aliasing -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 -g3
+ CPPFlags:
+ LDFlags:
+
+ Context backend: ucontext
+ Compile Gtnets: 0
+ path:
+ Compile Java: 1
+ Compile Lua: 1
+ Compile Ruby: 0
+
+ Maintainer mode: off
+ Supernovae mode: on
+
+ Simgrid dependencies: dl -llua5.1
+ Gras dependencies: pthread
+ Ruby dependencies:
+ Smpi dependencies:
+
+ USER_PREFIX: /usr/local
+ INSTALL_PREFIX: /usr/local
+
+-- Configuring done
+-- Generating done
+-- Build files have been written to: /home/navarrop/Bureau/simgrid-trunk
+\endverbatim
+
+\li Mode GTnetS
+
+cmake -Dgtnets_path=/home/navarrop/Bureau/usr/ ./
+\verbatim with_context auto change to ucontext
+(skaddr)
+(sksize)
+Make : src/simgrid.jar with : /usr/bin/javac
+Make examples/java with : /usr/bin/javac
+
+Configuration of package `simgrid' (revision 7228M) on arch (=4):
+ BUILDNAME : GTNETS
+ SITE : Linux_Ubuntu 9.10_x86_64
+
+ Compiler: c++ : /usr/bin/c++
+ version: c++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1
+ c : /usr/bin/gcc
+ version: gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1
+
+ CFlags: -L/home/navarrop/Bureau/usr/lib -I/home/navarrop/Bureau/usr/include/gtnets -g3
+ CPPFlags: -L/home/navarrop/Bureau/usr/lib -I/home/navarrop/Bureau/usr/include/gtnets
+ LDFlags:
+
+ Context backend: ucontext
+ Compile Gtnets: 1
+ path: /home/navarrop/Bureau/usr
+ Compile Java: 1
+ Compile Lua: 1
+ Compile Ruby: 0
+
+ Maintainer mode: off
+ Supernovae mode: off
+
+ Simgrid dependencies: dl -llua5.1 -lgtnets
+ Gras dependencies: pthread
+ Ruby dependencies:
+ Smpi dependencies:
+
+ USER_PREFIX: /usr/local
+ INSTALL_PREFIX: /usr/local
+
+INFO -->> Take care to have export LD_LIBRARY_PATH before run make command for make examples with gtnets
+copy and paste : export LD_LIBRARY_PATH=/home/navarrop/Bureau/usr/lib/:$LD_LIBRARY_PATH
+
+
+-- Configuring done
+-- Generating done
+-- Build files have been written to: /home/navarrop/Bureau/simgrid-trunk
+\endverbatim
+
+\subsection faq_cmakeinstall How to install with cmake?
+
+\subsubsection faq_cmakeinstall1 From svn.
+
+\verbatim
+cmake -Denable_maintainer_mode=on -Dprefix=/home/navarrop/Bureau/install_simgrid ./
+make
+make install-simgrid
+\endverbatim
+
+\subsubsection faq_cmakeinstall2 From a distrib
+
+\verbatim
+cmake -Dprefix=/home/navarrop/Bureau/install_simgrid ./
+make
+make install-simgrid
+\endverbatim
+
+\subsection faq_screenshot Screenshot
+
+\verbatim
+navarrop@caraja:~$ cd Bureau/simgrid-trunk/
+navarrop@caraja:~/Bureau/simgrid-trunk$ cmake ./
+
+GTnetS doesn't works : set -Ddisable_gtnets=on <-|some warnings are printed
+with_context auto change to ucontext <-|
+(skaddr) <--info (needed)
+(sksize) <--info (needed)
+Make : src/simgrid.jar with : /usr/bin/javac <--info (if java)
+Make examples/java with : /usr/bin/javac <--info (if java)
+
+Configuration of package `simgrid' (revision 7209M) on arch (=4):
+ BUILDNAME : UCONTEXT <-- name of the compilation regarding to cdash
+ SITE : Linux_Ubuntu 9.10_x86_64 <-- distribution of the local machine regarding to cdash
+
+ Compiler: c++ : /usr/bin/c++
+ version: c++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1
+ c : /usr/bin/gcc
+ version: gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1
+
+ CFlags: -g3
+ CPPFlags:
+ LDFlags:
+
+ Context backend: ucontext
+ Compile Gtnets: 0
+ path:
+ Compile Java: 1
+ Compile Lua: 1
+ Compile Ruby: 0
+
+ Maintainer mode: OFF
+ Supernovae mode: OFF
+
+ Simgrid dependencies: -ldl -llua5.1
+ Gras dependencies: pthread
+ Ruby dependencies:
+ Smpi dependencies:
+
+ USER_PREFIX: /usr/local
+ INSTALL_PREFIX: /usr/local
+
+-- Configuring done
+-- Generating done
+-- Build files have been written to: /home/navarrop/Bureau/simgrid-trunk
+\endverbatim
+Here all options are checked and printed. If it doesn't match with your configuration
+it is probably due to a wrong configuration.
+
+\subsection faq_cmakehowto How to modified sources files for developers
+
+\subsubsection faq_cmakehowto1 Add an executable or examples.
+
+If you want make an executable you have to create a CMakeList.txt to the src directory.
+You must specified where to create the executable, source list, dependencies and the name of the binary.
+
+\verbatim
+cmake_minimum_required(VERSION 2.6)
+
+set(EXECUTABLE_OUTPUT_PATH "./")
+set(LIBRARY_OUTPUT_PATH "${PROJECT_DIRECTORY}/lib")
+
+add_executable(get_sender get_sender.c) #add_executable(<name_of_target> <src list>)
+
+### Add definitions for compile
+target_link_libraries(get_sender simgrid m pthread -fprofile-arcs) #target_link_libraries(<name_of_targe> <dependencies>)
+\endverbatim
+
+Then you have to modified <project/directory>/buildtools/Cmake/src/CMakeMakeExeLib.txt and add
+this line :
+\verbatim
+add_subdirectory(${PROJECT_DIRECTORY}/<path_where_is_CMakeList.txt>)
+\endverbatim
+
+\subsubsection faq_cmakehowto2 Delete/add sources to lib.
+
+If you want modified, add or delete source files from a library you have to edit <project/directory>/buildtools/Cmake/src/CMakeDefinePackages.txt
+
+\verbatim
+set(JMSG_JAVA_SRC
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/MsgException.java
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/JniException.java
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/NativeException.java
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/HostNotFoundException.java
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/ProcessNotFoundException.java
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/Msg.java
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/Process.java
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/Host.java
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/Task.java
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/MsgNative.java
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/ApplicationHandler.java
+ ${PROJECT_DIRECTORY}/src/java/simgrid/msg/Sem.java
+)
+\endverbatim
+
+\subsubsection faq_cmakehowto3 Add test
+
+If you want modified, add or delete tests you have to edit <project/directory>/buildtools/Cmake/src/CMakeTest.txt
+with this function : ADD_TEST(<name> <bin> <ARGS>)
+
+\verbatim
+add_test(test-simdag-1 ${PROJECT_DIRECTORY}/testsuite/simdag/sd_test --cfg=path:${PROJECT_DIRECTORY}/testsuite/simdag small_platform_variable.xml)
+\endverbatim
+
+\subsection faq_cmakeExplain Explaination of sources files for cmake
+
+\li CMakeLists.txt
+
+Those files are the "main parts". One located at the project directory call all the cmake sources files. The others
+are little projects called by the first for make examples.
+
+\li CMakeCompleteInFiles.txt
+
+Complete all .in files and define Variables for h files
+
+\li CMakeDocs.txt
+
+This file make the html documentation.
+
+\li CMakeMakeExeLib.txt
+
+Here are callled all "CMakeLists.txt" for make executables and libraries.
+
+\li CMakePrintArgs.txt
+
+This file is called at the end of the build for summarize environment variables.