Groupe 14 : Sagot Aelis, Vidal Mathéo, Raimbault Diane, Cutaia Evan, Godreuil Tim
Github repo: https://github.com/torsina/S3_C_projet
Program usage : ./main <opt : --verbose> See help : ./main --help
Exigences :
-
Coder en anglais
-
Noms de fichiers en minuscules, séparés par des tirets "-"
-
Extensions .c, .h, .inc
-
Noms de type en CamelCase sans tirets. Pour les struct/enum/union, utiliser un underscore devant "_" Ex : typedef struct _Polygon Polygon;
-
Macros/constantes en majuscules avec un underscore "_" entre chaque mot
-
Variables en minuscules avec un underscore "_" entre chaque mot
-
Dans chaque header, utiliser un include guard au format :
<nom du projet>_<chemin>_<nom header>_H_
-
Dans les .c : inclure le .h (même nom que .c), saut de ligne, inclure librairie standard, saut de ligne, inclure librairie externes, saut de ligne, inclure headers du projet, saut de ligne, inclure .inc
-
Utiliser le style de Google, formatter avec clang-format et vérifier avec cclint
-
Protéger les champs (avec .inc) et faire des getters/setters
-
Générer la documentation avec sphinx en respectant la norme doxygen
-
Tests unitaires + valgrind + cclint. Dans un dossier "test"
- CLion avec mingw32 (gcc, g++, make)
- CMake
Aller dans Settings > Editor > Code Style.
-
Changer Scheme de "Default" à "Project"
-
Cliquer sur "Enable ClangFormat with clangd server"
-
On peut faire CTRL+ALT+L ou Code > Reformat pour reformatter
-
Avoir le .clang-format bien dans la racine
-
Ne pas le modifier. Si besoin, taper un caractère et l'enlever puis sauvegarder pour forcer CLion à le recharger.
-
TOUT EN BAS DE L'ECRAN (à côté de UTF-8) il doit y avoir : ClangFormat
- Avoir python 3 installé
pip install cclint
oupip3 install cclint
- Version 32 bits
- Modules :
Nom |
---|
mingw32-gcc-bin |
mingw32-gcc-g++-bin |
mingw32-gdb-bin |
mingw32-make-bin |
- Ajouter
C:\MinGW\bin
au PATH (chercher "variables d'environnement" sur Windows, cliquer sur "variables d'environnement" puis modifier "path" et ajouter la ligne). - Pour faire un make : aller (avec
cd
) dans/cmake-build-debug
puismingw32-make
.
- Settings > Build, Execution, Deployment > Python Interpreter et configurer l'interpréteur Python.
- Utiliser la commande
pip install -U sphinx
. - Utiliser la norme Doxygen.
- Voici la description de la norme
- Faire un CMakeLists.txt avec
make docs
- Appeler sphinx-build
sphinx-build.exe -b html src docs
- Télécharger Doxygen (installateur Windows).
- Doxygen doit être ajouté au PATH. Tester dans un dossier vide d'utiliser la commande
doxygen
dans l'interpréteur de commande.
- Utiliser la commande
pip install -U breathe
.
/**
* \brief Cette fonction calcule
* la racine carrée.
* \author Francis
* \version 1.2.0
* \date 12 octobre 2019
* \fn double sqrt(double val)
* \param val Valeur dont on souhaite
* trouver la racine carrée.
* \return La racine carrée de val.
*/
double sqrt(double val) {
...
}
- Utiliser la commande
mingw32-make docs
- Allez sur le github de libYAML et téléchargez le zip du master
- Ouvrez dans un IDE (Visual Studio, CLion)
- A la ligne 56 du CMakeLists.txt, changez :
add_library(yaml ${SRCS})
enadd_library(yaml SHARED ${SRCS})
- Exécutez CMake avec le CMakeLists.txt.
- Faites un make all (ou CMake > Générer uniquement > Tout (yaml) sur VS).
- Faites un make install (ou CMake > Installer > yaml).
- Sur Windows, ajouter le dossier d'installation de la DLL (C:/Program Files (x86)/yaml/bin/) au PATH.
git clone https://github.com/yaml/libyaml.git
./bootstrap
./configure
cmake .
(éventuellement -DCMAKE_INSTALL_PREFIX=$HOME/.local)make
sudo make install
- Vérifier si les fichiers sont bien installés (et peut être ajouter le répertoire d'installation au PATH).