This page describes the software infrastructure behind the SimGrid
project. This is not the components' organisation (described in @ref
-uhood_arch) but informations on how to extend the framework, how the
-automatic tests are run, and so on. These informations are split on
+uhood_arch) but information on how to extend the framework, how the
+automatic tests are run, and so on. These information are split on
several pages, as follows:
- @ref uhood_tech_inside
Your commit message should follow the git habits, explained in this
<a href="http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html">blog
-post</a>, or in the
+post</a>, or in the
<a href="https://github.com/atom/atom/blob/master/CONTRIBUTING.md#git-commit-messages">
git styleguide of Atom</a>.
-
+
@subsection uhood_tech_inside_codstand Automatically Enforcing our Coding Standards
-
+
If you plan to commit code to the SimGrid project, you definitely need
to install the relevant tool to ensure that your changes follow our
coding standards:
@endverbatim
This will add an extra verification before integrating any commit that
-you could prepare. If your code does not respects our formating code,
+you could prepare. If your code does not respects our formatting code,
git will say so, and provide a ready to use patch that you can apply
to improve your commit. Just carefully read the error message you get
-to find the exact command with git-apply to fix your formating.
+to find the exact command with git-apply to fix your formatting.
If you find that for a specific commit, the formatter does a very bad
job, then add --no-verify to your git commit command line.
and run the tests in parallel. Also, you want to save the build output
to disk, for further reference. This is exactly what the
BuildSimGrid.sh script does. It is upper-cased so that the shell
-completion works and allow to run it in 4 key press: `./B<tab>`
+completion works and allows one to run it in 4 key press: `./B<tab>`
Note that if you build out of tree (as you should, see below), the
script builds the build/default directory. I usually copy the file in
install_cmake_outsrc) in addition to your main build tree.
To not mess with git, you want to put your build tree under the build/
directory, which is ignored by git. For example, I have the following
-directories: build/clang build/java build/full
+directories: build/clang build/full
(but YMMV).
Then, the problem is that when you traverse these directories, you
which valgrind does not really love).
All this is configured with:
- cmake -Denable_model-checking=OFF
- -Denable_mallocators=OFF
- -Denable_compile_optimizations=OFF .
+ cmake -Denable_model-checking=OFF
+ -Denable_mallocators=OFF
+ -Denable_compile_optimizations=OFF .
* If you break the logs, you want to define XBT_LOG_MAYDAY at the
beginning of log.h. It deactivates the whole logging mechanism,