## Requirements - Installer le [package FSV](https://industriels.sesam-vitale.fr/group/fournitures-sesam-vitale) - Les librairies dynamiques (.lib, .dll, ...) fournies ne sont pas installés dans les emplacements standard du système, il faudra donc, à la compilation et à l'exécution, fournir le chemin d'installation de ces librairies - Le détail des chemins d'installation est donné dans la documentation du package FSV `fsv-mi-004_pack-FSV1.40.14_V2.3.pdf` - Linux - par défaut : `/opt/santesocial/fsv/1.40.13/lib` - Windows - par défaut : `C:\Program Files\santesocial\santesocial\fsv\1.40.14\lib` (ou dans Program Files (x86) si c'est le package 32bits qui a été installé) - Installer la [CryptolibCPS](https://industriels.sesam-vitale.fr/group/galss-cryptolib-cps) - Ce package fourni également l'utilitaire "CPS Gestion" pour obtenir des informations sur le lecteur de carte, etc. - Linux : `cpgeslux` - Windows : `...` ## Setup - Créer et éditer un fichier `.env` en s'inspirant d'un des fichiers d'exemple (`.env.linux.example`, `.env.win.example`...) ### Windows - Ajouter le chemin d'installation des librairies dynamiques fournies par le package FSV dans le `PATH` ## Build ### Compilation C Ce package s'appuie sur deux librairies : - Une librairie statique, compilée à partir des sources (`*.c`, `*.h`) fournies dans le dossier `./src` - Une librairie dynamique, fournie par le package FSV - Windows : on fournit les headers, non présents dans la `.dll` en compilant les fichiers `src/*.def` en leur version binaire `lib/*.lib` Pour compiler les fichiers de librairie : - Windows : `.\make.bat` - Linux : `make` Pour nettoyer le dossier `./lib` : - Windows : `.\make.bat /clean` - Linux : `make clean` ### Compilation Rust `cargo build` Comme précisé précédemment, il peut être nécessaire de fournir le chemin d'installation des librairies dynamiques fournies par le package FSV à la compilation, en utilisant la variable d'environnement `RUSTFLAGS`. - Par exemple - Linux :`RUSTFLAGS="-L /opt/santesocial/fsv/1.40.13/lib" cargo build` - Windows : `cargo build` (pas besoin de `RUSTFLAGS` à condition que le chemin d'installation des librairies dynamiques soit dans le `PATH`) ## Run `cargo run` Comme précisé précédemment, il peut être nécessaire de fournir le chemin d'installation des librairies dynamiques fournies par le package FSV à l'exécution. La commande `cargo run` provoquant également un build, il faudra également fournir la variable d'environnement `RUSTFLAGS` le cas échéant. - Par exemple - Linux : `RUSTFLAGS="-L /opt/santesocial/fsv/1.40.13/lib" LD_LIBRARY_PATH="/opt/santesocial/fsv/1.40.13/lib" cargo run` - Windows : `cargo run` (pas besoin de `RUSTFLAGS` ni de `PATH` à condition que le chemin d'installation des librairies dynamiques soit dans le `PATH`)