Logiciel de pharmacie
Go to file
2024-07-06 11:07:53 +02:00
lib chore: Make the build works on linux and windows (+ details in README.md) 2024-07-06 11:07:53 +02:00
src chore: Make the compilation and linking crossplatform (win, linux) 2024-07-05 23:30:11 +02:00
.env.linux.example chore: Make the compilation and linking crossplatform (win, linux) 2024-07-05 23:30:11 +02:00
.env.win.example chore: Make the compilation and linking crossplatform (win, linux) 2024-07-05 23:30:11 +02:00
.gitignore chore: Make the compilation and linking crossplatform (win, linux) 2024-07-05 23:30:11 +02:00
build.rs chore: Make the build works on linux and windows (+ details in README.md) 2024-07-06 11:07:53 +02:00
Cargo.lock chore: Make the compilation and linking crossplatform (win, linux) 2024-07-05 23:30:11 +02:00
Cargo.toml chore: Make the build works on linux and windows (+ details in README.md) 2024-07-06 11:07:53 +02:00
make.bat chore: Make the build works on linux and windows (+ details in README.md) 2024-07-06 11:07:53 +02:00
makefile chore: setup debug project for binding C and Rust 2024-07-04 19:15:30 +02:00
README.md chore: Make the build works on linux and windows (+ details in README.md) 2024-07-06 11:07:53 +02:00

Requirements

  • Installer le package FSV

    • 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

    • 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)