git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7269
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
\subsection faq_intro Some generalitty
\subsection faq_intro Some generalitty
+\subsubsection faq_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>.
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 faq_intro2 Why cmake?
CMake permits to developers to compil projects on different plateform. Then many tools are embedded like ctest for making test, a link to cdash for vizualise results but also test coverage and bug reports.
CMake permits to developers to compil projects on different plateform. 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 faq_intro3 What cmake need?
CMake needs some prerequists like :
\li make
CMake needs some prerequists like :
\li make
- \li a c, c++ and java compiler regards to developers
+ \li c, c++ and java compiler regards to developers
\li ccmake for graphical used of CMake
\li ccmake for graphical used of CMake
- \li cmake <a href="http://www.cmake.org/cmake/resources/software.html">download</a>
+ \li cmake <a href="http://www.cmake.org/cmake/resources/software.html">(download page)</a>
+\subsubsection faq_intro4 Cmake vs Autotools...
\subsection faq_cmakeoption Cmake options
\subsection faq_cmakeoption Cmake options
+\subsubsection faq_cmakeoption1 Liste of options
\verbatim
"cmake -D[name]=[value] ... ./"
\verbatim
"cmake -D[name]=[value] ... ./"
with_context auto/ucontext/pthread/window
\endverbatim
with_context auto/ucontext/pthread/window
\endverbatim
+\subsubsection faq_cmakeoption2 Options explaination
\li disable_gtnets : set to true implie that user doesn't want to use gtnets.
\li disable_gtnets : set to true implie that user doesn't want to use gtnets.
\li with context : specify which context the user wants to use.
\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.
Those options are initialized the first time you launch \"cmake ./\" whithout specified option.
disable_ruby on
\endverbatim
disable_ruby on
\endverbatim
-4 Option's cache and how to reset?
+\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
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
\verbatim
cmake -D[name]=[value] ... ./
make
\endverbatim
+\subsubsection faq_cmakecompilation2 With ccmake tool.
\verbatim
"ccmake ./"
\endverbatim
Then follow instructions.
\verbatim
"ccmake ./"
\endverbatim
Then follow instructions.
-3 Resume of command line
+\subsubsection faq_cmakecompilation3 Resume of command line
ctest -D NightlyMemoryCheck
\endverbatim
ctest -D NightlyMemoryCheck
\endverbatim
-4 Examples for different mode.
+\subsubsection faq_cmakecompilation4 Examples for different mode.
\subsection faq_cmakeinstall How to install with cmake?
\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 ./
\verbatim
cmake -Denable_maintainer_mode=on -Dprefix=/home/navarrop/Bureau/install_simgrid ./
make install-simgrid
\endverbatim
make install-simgrid
\endverbatim
+\subsubsection faq_cmakeinstall2 From a distrib
\verbatim
cmake -Dprefix=/home/navarrop/Bureau/install_simgrid ./
\verbatim
cmake -Dprefix=/home/navarrop/Bureau/install_simgrid ./
\subsection faq_screenshot Screenshot
\subsection faq_screenshot Screenshot
\verbatim
navarrop@caraja:~$ cd Bureau/simgrid-trunk/
navarrop@caraja:~/Bureau/simgrid-trunk$ cmake ./
\verbatim
navarrop@caraja:~$ cd Bureau/simgrid-trunk/
navarrop@caraja:~/Bureau/simgrid-trunk$ cmake ./
\subsection faq_cmakehowto How to modified sources files for developers
\subsection faq_cmakehowto How to modified sources files for developers
-1 Add an executable or examples.
+\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.
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.
add_subdirectory(${PROJECT_DIRECTORY}/<path_where_is_CMakeList.txt>)
\endverbatim
add_subdirectory(${PROJECT_DIRECTORY}/<path_where_is_CMakeList.txt>)
\endverbatim
-2 Delete/add sources to lib.
+\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
If you want modified, add or delete source files from a library you have to edit <project/directory>/buildtools/Cmake/src/CMakeDefinePackages.txt
+\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>)
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>)
\subsection faq_cmakeExplain Explaination of sources files for cmake
\li CMakeLists.txt
\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
\li CMakeCompleteInFiles.txt
+
+Complete all .in files and define Variables for h files
+
+
+This file make the html documentation.
+
+
+Here are callled all "CMakeLists.txt" for make executables and libraries.
+
+
+This file is called at the end of the build for summarize environment variables.
+
\li CMakeDefinePackages.txt
\li CMakeDefinePackages.txt
+
+Here is defined sources packages for compiling libs.
+
+
+Defined flags which are used for compiling sources.
+
+
+Here are made files for the supernovae mode.
+
+
+Here is defined packages for install simgrid and make a distribution.
+
+
+Part for generated sources from flex and flexml.
+
+
+Here are defined options and initialized values.
+
+
+All tests are listed.
+
+
+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
Here is a list of files involved into cmake build (relative to project directory path) :
\verbatim
./buildtools/Cmake/src/CMakeOption.txt
./buildtools/Cmake/src/CMakeTest.txt
./buildtools/Cmake/src/CTestConfig.cmake
./buildtools/Cmake/src/CMakeOption.txt
./buildtools/Cmake/src/CMakeTest.txt
./buildtools/Cmake/src/CTestConfig.cmake
- ./buildtools/Cmake/src/CTestTestfile.cmake
Test files for define properties :
./buildtools/Cmake/prog_test/prog_GRAS_ARCH.c
Test files for define properties :
./buildtools/Cmake/prog_test/prog_GRAS_ARCH.c
### Declare that we know that some tests are broken
###
### Declare that we know that some tests are broken
###
-set_tests_properties(simdag-test_simdag2 PROPERTIES WILL_FAIL true)
-
# Amok is broken in RL since before v3.3 (should fix it one day)
set_tests_properties(amok-bandwidth-rl PROPERTIES WILL_FAIL true)
set_tests_properties(amok-saturate-rl PROPERTIES WILL_FAIL true)
# Amok is broken in RL since before v3.3 (should fix it one day)
set_tests_properties(amok-bandwidth-rl PROPERTIES WILL_FAIL true)
set_tests_properties(amok-saturate-rl PROPERTIES WILL_FAIL true)