\subsubsection faq_intro3 What cmake need?
CMake needs some prerequists like :
+
+For Unix and MacOS:
\li make
+ \li perl and libpcre
\li c, c++ and java compiler regards to developers
\li ccmake for graphical used of CMake
\li cmake <a href="http://www.cmake.org/cmake/resources/software.html">(download page)</a>
+For Windows :
+ \li cmake 2.8.3 <a href="http://www.cmake.org/files/v2.8/cmake-2.8.3-win32-x86.exe">(download page)</a>
+ \li Dev-c++ <a href="http://sourceforge.net/projects/dev-cpp/files/Binaries/Dev-C%2B%2B%204.9.9.2/devcpp-4.9.9.2_nomingw_setup.exe/download">(download page)</a>
+ \li perl strawberry <a href="http://www.strawberryperl.com/download/5.12.2.0/strawberry-perl-5.12.2.0.msi">(download page)</a>
+ \li pcre-7.0 <a href="http://sourceforge.net/projects/gnuwin32/files/pcre/7.0/pcre-7.0.exe/download">(download page)</a>
+
+ \li Set environment variables.
+
+\verbatim
+CC to C:\Dev-Cpp\bin\gcc
+CXX to C:\Dev-Cpp\bin\g++
+INCLUDE to C:\Dev-Cpp\include
+LIB to C:\Dev-Cpp\lib
+PCRE_LIBRARY_PATH to C:\
+PATH to C:\Dev-Cpp\bin
+\endverbatim
+
\subsubsection faq_cmakeoption1 Liste of options
\verbatim
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_doc ON/OFF or TRUE/FALSE or 1/0
gtnets_path <path_to_gtnets_directory>
- prefix <path_to_install_directory>
- BIBTEX2HTML <path_to_bibtex2html>
- with_context auto/ucontext/pthread/window
+ CMAKE_INSTALL_PREFIX <path_to_install_directory>
pipol_user <pipol_username>
\endverbatim
\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_doc : Generate the documentation for simgrid with make command. (You can also make the doc manually with command : make html)
\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 BIBTEX2HTML : Path where is installed bibtex2html.
-
- \li with context : specify which context the user wants to use.
+ \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.
enable_gtnets on
enable_lua on
enable_ruby on
-enable_java off
-enable_compile_optimizations off
-enable_compile_warnings off
+enable_java on
enable_smpi on
+enable_supernovae on
+enable_tracing on
+enable_compile_optimizations on
+enable_compile_warnings off
enable_maintainer_mode off
-enable_supernovae off
-enable_tracing off
enable_coverage off
enable_memcheck off
enable_model-checking off
-enable_doc off
-
+CMAKE_INSTALL_PREFIX /usr/local
gtnets_path null
-prefix null
-BIBTEX2HTML null
-with_context auto
pipol_user null
\endverbatim
\li CMake
\verbatim
-cmake <path> configure the project
-make build all targets
-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)
-make install install the project (doc/ lib/ include/)
-make uninstall uninstall the project (doc/ lib/ include/)
-make clean clean all targets
-make java-clean clean files created by java option
-make doc-clean clean files created for making doc
-make supernovae-clean clean supernovae files
-make maintainer-clean clean maintainer files
-make all-clean execute the 5 upper clean command
-make html Create simgrid documentation
+cmake <path> configure the project
+make build all targets
+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)
+make install install the project (doc/ bin/ lib/ include/)
+make uninstall uninstall the project (doc/ bin/ lib/ include/)
+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.
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>.
-\subsubsection faq_cmakecompilation5 Examples for different mode.
-
-\li Mode maintainer
-
-cmake -Denable_maintainer_mode=on ./
-\verbatim
--- lookign for config.h
-with_context auto change to ucontext
-GIT_DATE : 2010-05-04~09-59-15
-GIT_VERSION : 53ec816
-GIT_SVN_VERSION : 7669
-
-Configuration of package `simgrid' (revision 7669) on arch (=4):
- BUILDNAME : UCONTEXT
- SITE : Linux_2.6.31-21-generic_x86_64
- Release : simgrid-3.4~rev7669
-
- Compiler: c++ : /usr/bin/c++
- version: c++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1
- Compiler: c : /usr/bin/gcc
- version: gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1
-
- CFlags : -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/include/lua5.1 -g3
- CPPFlags:
- LDFlags : -L/usr/lib/
-
- Context backend: ucontext
- Compile Gtnets : 0
- Gtnets path :
- Compile Java : 0
- Compile Lua : 1
- Compile Ruby : 1
-
- Compile Smpi : ON
- Maintainer mode: ON
- Supernovae mode: OFF
- Tracing mode : OFF
-
- Simgrid dependencies: -lm -lruby1.8 -module -ldl -llua5.1 -lrt
- Gras dependencies : -lm -lpthread -lrt
- Smpi dependencies :
-
- INSTALL_PREFIX: /usr/local
-
--- Configuring done
--- Generating done
--- Build files have been written to: /home/navarrop/Developments/simgrid
-\endverbatim
-
-\li Mode supernovae
-
-cmake -Dsupernovae=on ./
-\verbatim
--- lookign for config.h
-with_context auto change to ucontext
-GIT_DATE : 2010-05-04~09-59-15
-GIT_VERSION : 53ec816
-GIT_SVN_VERSION : 7669
-
-Configuration of package `simgrid' (revision 7669) on arch (=4):
- BUILDNAME : SUPERNOVAE
- SITE : Linux_2.6.31-21-generic_x86_64
- Release : simgrid-3.4~rev7669
-
- Compiler: c++ : /usr/bin/c++
- version: c++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1
- Compiler: 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 -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/include/lua5.1 -g3
- CPPFlags:
- LDFlags : -L/usr/lib/
-
- Context backend: ucontext
- Compile Gtnets : 0
- Gtnets path :
- Compile Java : 0
- Compile Lua : 1
- Compile Ruby : 1
-
- Compile Smpi : ON
- Maintainer mode: OFF
- Supernovae mode: OFF
- Tracing mode : OFF
-
- Simgrid dependencies: -lm -lruby1.8 -module -ldl -llua5.1 -lrt
- Gras dependencies : -lm -lpthread -lrt
- Smpi dependencies :
-
- INSTALL_PREFIX: /usr/local
-
--- Configuring done
--- Generating done
--- Build files have been written to: /home/navarrop/Developments/simgrid
-
-\endverbatim
-
-\li Mode GTnetS
-
-cmake -Dgtnets_path=/home/navarrop/Bureau/usr/ ./
-\verbatim
--- lookign for config.h
-with_context auto change to ucontext
-GIT_DATE : 2010-05-04~09-59-15
-GIT_VERSION : 53ec816
-GIT_SVN_VERSION : 7669
-
-Configuration of package `simgrid' (revision 7669) on arch (=4):
- BUILDNAME : GTNETS
- SITE : Linux_2.6.31-21-generic_x86_64
- Release : simgrid-3.4~rev7669
-
- Compiler: c++ : /usr/bin/c++
- version: c++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1
- Compiler: 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 -I/usr/lib/ruby/1.8/x86_64-linux -L/usr/lib -I/usr/include/gtnets -I/usr/include/lua5.1 -g3
- CPPFlags: -L/usr/lib -I/usr/include/gtnets
- LDFlags : -L/usr/lib/
-
- Context backend: ucontext
- Compile Gtnets : 1
- Gtnets path : /usr
- Compile Java : 0
- Compile Lua : 1
- Compile Ruby : 1
-
- Compile Smpi : ON
- Maintainer mode: OFF
- Supernovae mode: OFF
- Tracing mode : OFF
-
- Simgrid dependencies: -lm -lruby1.8 -module -ldl -llua5.1 -lgtnets -lrt
- Gras dependencies : -lm -lpthread -lrt
- Smpi dependencies :
-
- INSTALL_PREFIX: /usr/local
-
--- Configuring done
--- Generating done
--- Build files have been written to: /home/navarrop/Developments/simgrid
-
-\endverbatim
-
\subsection faq_cmakeinstall How to install with cmake?
\subsubsection faq_cmakeinstall1 From svn.
+For Unix and MacOS:
\verbatim
-cmake -Denable_maintainer_mode=on -Dprefix=/home/navarrop/Bureau/install_simgrid ./
+cmake -Denable_maintainer_mode=on -DCMAKE_INSTALL_PREFIX=/home/navarrop/Bureau/install_simgrid ./
make
make install
\endverbatim
+For Windows:
+
+\verbatim
+cmake -G"Unix Makefiles" -DCMAKE_INSTALL_PREFIX=C:\simgrid_install ./
+make
+make install
+\endverbatim
+
\subsubsection faq_cmakeinstall2 From a distrib
\verbatim
make
make install-simgrid
Since version 3.5
- cmake -Dprefix=/home/navarrop/Bureau/install_simgrid ./
+ cmake -DCMAKE_INSTALL_PREFIX=/home/navarrop/Bureau/install_simgrid ./
make
make install
\endverbatim
+\subsection faq_cmakeWHATisInstall What is installed by cmake?
+
+\subsubsection faq_cmakeWHATisInstallBIN CMAKE_INSTALL_PREFIX/bin
+\verbatim
+tesh
+graphicator
+gras_stub_generator
+simgrid_update_xml
+simgrid-colorizer
+smpicc
+smpiff
+smpif2c
+smpirun
+\endverbatim
+\subsubsection faq_cmakeWHATisInstallDOC CMAKE_INSTALL_PREFIX/doc
+\verbatim
+simgrid/examples/
+simgrid/html/
+\endverbatim
+\subsubsection faq_cmakeWHATisInstallINCLUDE CMAKE_INSTALL_PREFIX/include
+\verbatim
+amok/
+gras/
+instr/
+mc/
+msg/
+simdag/
+simix/
+smpi/
+surf/
+xbt/
+gras.h
+simgrid_config.h
+xbt.h
+\endverbatim
+\subsubsection faq_cmakeWHATisInstallLIB CMAKE_INSTALL_PREFIX/lib
+\verbatim
+libgras.so.3.5
+libsimgrid.so.3.5
+libsmpi.so.3.5
+libsimgrid.so -> libsimgrid.so.3.5
+libgras.so -> libgras.so.3.5
+libsmpi.so -> libsmpi.so.3.5
+lua/5.1/simgrid.so -> ../../libsimgrid.so
+ruby/1.9.0/x86_64-linux/libsimgrid.so -> ../../../libsimgrid.so
+ruby/1.9.0/x86_64-linux/simgrid.rb
+\endverbatim
\subsection faq_cmakehowto How to modified sources files for developers
\subsubsection faq_cmakehowto1 Add an executable or examples.
bob@caraja:~/Developments/simgrid/tmp_build$ make pipol_test_list_images
\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 CompleteInFiles.cmake
-
-Complete all .in files and define Variables for h files
-
-\li GenerateDoc.cmake
-
-This file make the html documentation.
-
-\li MakeExeLib.cmake
-
-Here are callled all "CMakeLists.txt" for make executables and libraries.
-
-\li PrintArgs.cmake
-
-This file is called at the end of the build for summarize environment variables.
-
-\li DefinePackages.cmake
-
-Here is defined sources packages for compiling libs.
-
-\li Flags.cmake
-
-Defined flags which are used for compiling sources.
-
-\li Supernovae.cmake
-
-Here are made files for the supernovae mode.
-
-\li Distrib.cmake
-
-Here is defined packages for install simgrid and make a distribution.
-
-\li MaintainerMode.cmake
-
-Part where are generated source files for maintainer mode.
-
-\li Option.cmake
-
-Here are defined options and initialized values.
-
-\li AddTests.cmake
-
-All tests are listed.
-
-\li CTestConfig.cmake
-
-Properties which link tests with dashboard.
-
-\subsection faq_cmakeList List of files added for cmake
-
-Here is a list of files involved into cmake build (relative to project directory path) :
-\verbatim
-
-Cmake sources:
- ./doc/CMakeLists.txt
- ./buildtools/Cmake/AddTests.cmake
- ./buildtools/Cmake/CompleteInFiles.cmake
- ./buildtools/Cmake/CTestConfig.cmake
- ./buildtools/Cmake/DefinePackages.cmake
- ./buildtools/Cmake/Distrib.cmake
- ./buildtools/Cmake/Flags.cmake
- ./buildtools/Cmake/GenerateDocs.cmake
- ./buildtools/Cmake/MaintainerMode.cmake
- ./buildtools/Cmake/MakeExeLib.cmake
- ./buildtools/Cmake/MakeExeLibWin.cmake
- ./buildtools/Cmake/MakeJava.cmake
- ./buildtools/Cmake/Option.cmake
- ./buildtools/Cmake/PrintArgs.cmake
- ./buildtools/Cmake/Supernovae.cmake
-
-CMakeLists for each binaries or examples:
- ./CMakeLists.txt
- ./src/CMakeLists.txt
- ./teshsuite/gras/empty_main/CMakeLists.txt
- ./teshsuite/gras/small_sleep/CMakeLists.txt
- ./teshsuite/gras/datadesc/CMakeLists.txt
- ./teshsuite/gras/msg_handle/CMakeLists.txt
- ./teshsuite/simdag/CMakeLists.txt
- ./teshsuite/simdag/partask/CMakeLists.txt
- ./teshsuite/simdag/platforms/CMakeLists.txt
- ./teshsuite/simdag/network/CMakeLists.txt
- ./teshsuite/simdag/network/mxn/CMakeLists.txt
- ./teshsuite/simdag/network/p2p/CMakeLists.txt
- ./teshsuite/xbt/CMakeLists.txt
- ./teshsuite/msg/CMakeLists.txt
- ./tools/gras/CMakeLists.txt
- ./tools/tesh/CMakeLists.txt
- ./testsuite/simdag/CMakeLists.txt
- ./testsuite/xbt/CMakeLists.txt
- ./testsuite/surf/CMakeLists.txt
- ./examples/gras/properties/CMakeLists.txt
- ./examples/gras/ping/CMakeLists.txt
- ./examples/gras/pmm/CMakeLists.txt
- ./examples/gras/mmrpc/CMakeLists.txt
- ./examples/gras/synchro/CMakeLists.txt
- ./examples/gras/timer/CMakeLists.txt
- ./examples/gras/mutual_exclusion/simple_token/CMakeLists.txt
- ./examples/gras/spawn/CMakeLists.txt
- ./examples/gras/chrono/CMakeLists.txt
- ./examples/gras/rpc/CMakeLists.txt
- ./examples/gras/all2all/CMakeLists.txt
- ./examples/simdag/properties/CMakeLists.txt
- ./examples/simdag/CMakeLists.txt
- ./examples/simdag/metaxml/CMakeLists.txt
- ./examples/simdag/dax/CMakeLists.txt
- ./examples/smpi/CMakeLists.txt
- ./examples/amok/bandwidth/CMakeLists.txt
- ./examples/amok/saturate/CMakeLists.txt
- ./examples/msg/priority/CMakeLists.txt
- ./examples/msg/properties/CMakeLists.txt
- ./examples/msg/migration/CMakeLists.txt
- ./examples/msg/gtnets/CMakeLists.txt
- ./examples/msg/parallel_task/CMakeLists.txt
- ./examples/msg/trace/CMakeLists.txt
- ./examples/msg/suspend/CMakeLists.txt
- ./examples/msg/masterslave/CMakeLists.txt
- ./examples/msg/actions/CMakeLists.txt
- ./examples/msg/sendrecv/CMakeLists.txt
-\endverbatim
-
\section faq_installation Installing the SimGrid library with Autotools (valid until V3.3.4)
Many people have been asking me questions on how to use SimGrid. Quite
in the trace file. You have to enable this option to others take effect.
\li <b>\c
-tracing/platform
+tracing/categorized
</b>:
It activates the categorized resource utilization tracing. It should
be enabled if tracing categories are used by this simulator.