X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bb89977ebcb270b49d2806048a4d2f5a944a5997..73e4fd1f87d88fd9396f626cdf5cd50692f1d5e1:/doc/doxygen/inside_cmake.doc diff --git a/doc/doxygen/inside_cmake.doc b/doc/doxygen/inside_cmake.doc index 4d89a4988c..e043df16e2 100644 --- a/doc/doxygen/inside_cmake.doc +++ b/doc/doxygen/inside_cmake.doc @@ -3,9 +3,27 @@ \tableofcontents +\section inside_cmake_intro Generalities on Cmake + +\subsection inside_cmake_what 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 here. + +\subsection inside_cmake_why Why cmake? + +CMake permits to developers to compile projects on different +platforms. Then many tools are embedded like ctest for making test, a +link to cdash for vizualise results but also test coverage and bug +reports. + \section inside_cmake_addsrc How to add source files? -If you want modified, add or delete source files from a library you have to edit /buildtools/Cmake/DefinePackages.cmake. +If you want modified, add or delete source files from a library you have to edit /tools/cmake/DefinePackages.cmake. Chose the section you are interested in and modify it. \verbatim @@ -32,8 +50,8 @@ done by adding the files to the EXTRA_DIST list, as in the following example: \verbatim -### If f2c is installed compiled source other-whise source is only copy in the dist -if(SMPI_F2C) +### If fortran is installed compile source other-whise source is only copied in the dist +if(SMPI_FORTRAN) set(SMPI_SRC ${SMPI_SRC} src/smpi/smpi_f77.c @@ -106,12 +124,12 @@ set(txt_files \endverbatim Then, you have to follow these steps: -\li Add the following line to /buildtools/Cmake/MakeExeLib.cmake: +\li Add the following line to /tools/cmake/MakeExe.cmake: \verbatim add_subdirectory(${CMAKE_HOME_DIRECTORY}/) \endverbatim -\li Add your CMakeLists.txt to CMAKE_SOURCE_FILES in /buildtools/Cmake/DefinePackages.cmake: +\li Add your CMakeLists.txt to CMAKE_SOURCE_FILES in /tools/cmake/DefinePackages.cmake: \verbatim set(CMAKE_SOURCE_FILES CMakeLists.txt @@ -132,7 +150,7 @@ not forget to add any file to the distributed archives. If you want to test a specific function or set of functions, you need a unit test. Edit -/buildtools/Cmake/UnitTesting.cmake to add your +/tools/cmake/UnitTesting.cmake to add your source file to the TEST_CFILES list, and add the corresponding unit file to the TEST_UNITS list. For example, if your file is toto.c, your unit file will be toto_unit.c. The full path to your file must be @@ -189,7 +207,7 @@ machine. Then you have to request cmake to run your test when "ctest" is launched. For that, you have to modify source -/buildtools/Cmake/AddTests.cmake. Make sure to pick +/tools/cmake/AddTests.cmake. Make sure to pick a wise name for your test. It is often useful to check a category of tests together. The only way to do so in ctest is to use the -R argument that specifies a regular expression that the test names must @@ -228,11 +246,10 @@ ADD_TEST(NAME my-test-name As usual, you must run "make distcheck" after modifying the cmake files, to ensure that you did not forget any files in the distributed archive. -\subsection inside_cmake_addtest_perf Performance testing in SimGrid +\subsection inside_cmake_ci Continous Integration -We are currently in the process of adding an infrastructure for -performance regression testing, but this is not related to cmake -anyhow. They are thus documented elsewhere, in Section \ref -inside_autotests_perf +We are using Continous Integration to help us provide a stable build +across as many platforms as possible. %As this is not related to cmake, +you have to head over to Section \ref inside_ci. */