Feature : mise en place de Clego avec un exemple d'implémentation crossplateforme de la librairie SESAM-Vitale SSV #23

Merged
florian_briand merged 3 commits from feature-setup-clego into main 2024-07-29 19:43:50 +02:00

Cette implémentation reprend les principes expérimentés sur la branche wip-debug-lib-c, avec la gestion du linking dynamique des librairies SESAM-Vitale (FSV) sous Windows et Linux.

Elle présente un exemple d'implémentation de la fonction SSV_LireCartePS, après usage de ses prérequis SSV_InitLIB2 et SSV_LireConfig

Closes #2
Closes #4

Cette implémentation reprend les principes expérimentés sur la branche `wip-debug-lib-c`, avec la gestion du linking dynamique des librairies SESAM-Vitale (FSV) sous Windows et Linux. Elle présente un exemple d'implémentation de la fonction `SSV_LireCartePS`, après usage de ses prérequis `SSV_InitLIB2` et `SSV_LireConfig` Closes #2 Closes #4
florian_briand added the
enhancement
module/sesam-vitale
labels 2024-07-23 14:31:02 +02:00
florian_briand self-assigned this 2024-07-23 14:31:02 +02:00
florian_briand added 2 commits 2024-07-23 14:31:02 +02:00
florian_briand added a new dependency 2024-07-23 14:31:30 +02:00
florian_briand removed a dependency 2024-07-23 14:31:51 +02:00
Owner

Pour moi le fichier bat ne devrait par etre dans le code source car fait parti de l'install et non de la logique du logiciel, sauf si je comprend mal

Si on veut rester sur un script bat, on pourrait le mettre dans clego/scripts/ par exemple

Si on peut partit sur d'autre outils:

Pour moi le fichier bat ne devrait par etre dans le code source car fait parti de l'install et non de la logique du logiciel, sauf si je comprend mal Si on veut rester sur un script bat, on pourrait le mettre dans clego/scripts/ par exemple Si on peut partit sur d'autre outils: - en restant dans l'ecosysteme cargo: https://github.com/sagiegurari/cargo-make - autre option qui reste instalable par cargo: https://github.com/casey/just
Author
Owner

Pour moi le fichier bat ne devrait par etre dans le code source car fait parti de l'install et non de la logique du logiciel, sauf si je comprend mal

C'est un script qui a un usage un peu "en dehors" du build, car il n'a pas du tout besoin d'être appelé systématiquement.
Il n'est utile que quand on modifie les *.def, afin de générer le *.lib nécessaire sous windows.

En l'état, ce n'est pas un système très solide, d'où mon choix de le mettre là et de ne pas investir de temps dans quelque chose de + solide / crossplatform / ...

En conséquence, est-ce que tu/vous pensez que c'est nécessaire de faire mieux (à minima de le bouger à la racine) maintenant, ou pas ?

> Pour moi le fichier bat ne devrait par etre dans le code source car fait parti de l'install et non de la logique du logiciel, sauf si je comprend mal C'est un script qui a un usage un peu "en dehors" du build, car il n'a pas du tout besoin d'être appelé systématiquement. Il n'est utile que quand on modifie les *.def, afin de générer le *.lib nécessaire sous windows. En l'état, ce n'est pas un système très solide, d'où mon choix de le mettre là et de ne pas investir de temps dans quelque chose de + solide / crossplatform / ... En conséquence, est-ce que tu/vous pensez que c'est nécessaire de faire mieux (à minima de le bouger à la racine) maintenant, ou pas ?
Owner

Vu que le script et le fichier de définition seront utilisés uniquement pour mettre à jour le .lib déjà présent dans le repo, je les placerais dans scripts/generate_ssv_lib/.

Concernant la nécessité de faire les choses de manière "clean", je pense qu'un juste milieu est à trouver. Certes, se préoccuper de la compatibilité cross-platform des maintenants n'est peut-être pas nécessaire, mais je crois que tout ce qui touche à la structure du projet ou à des choix impactant le développement des autres mérite d'être approfondi.

Personnellement, je pense que la structure du projet de depart servira de guide sur comment développer le projet. Si nous créons une structure propre avec des exemples dès le départ, cela servira de base solide pour continuer le développement. En revanche, une base peu solide entraînera des pertes de temps à long terme, car l'effort de restructuration sera plus important dans le futur.

(oui jai reformulé avec chatgpt lol)

Vu que le script et le fichier de définition seront utilisés uniquement pour mettre à jour le .lib déjà présent dans le repo, je les placerais dans scripts/generate_ssv_lib/. Concernant la nécessité de faire les choses de manière "clean", je pense qu'un juste milieu est à trouver. Certes, se préoccuper de la compatibilité cross-platform des maintenants n'est peut-être pas nécessaire, mais je crois que tout ce qui touche à la structure du projet ou à des choix impactant le développement des autres mérite d'être approfondi. Personnellement, je pense que la structure du projet de depart servira de guide sur comment développer le projet. Si nous créons une structure propre avec des exemples dès le départ, cela servira de base solide pour continuer le développement. En revanche, une base peu solide entraînera des pertes de temps à long terme, car l'effort de restructuration sera plus important dans le futur. (oui jai reformulé avec chatgpt lol)
florian_briand reviewed 2024-07-24 09:01:53 +02:00
@ -0,0 +1,28 @@
@echo off
Author
Owner
  • déplacer ce fichiers dans un dossier /scripts/ avec un nom + explicite
- [x] déplacer ce fichiers dans un dossier /scripts/ avec un nom + explicite
kosssi approved these changes 2024-07-24 15:06:48 +02:00
florian_briand force-pushed feature-setup-clego from 9e60aa656f to 9fc3fef350 2024-07-27 00:38:16 +02:00 Compare
Author
Owner

En l'état, la crate sesam-vitale ne compile pas, car la présence du fichier lib.rs vient perturber le build, qui ne semble plus recevoir les flags de lien dynamique fait dans build.rs

Je vais poser la question sur le Discord de rust

En l'état, la crate `sesam-vitale` ne compile pas, car la présence du fichier `lib.rs` vient perturber le build, qui ne semble plus recevoir les flags de lien dynamique fait dans `build.rs` Je vais poser la question sur le Discord de rust
florian_briand added 1 commit 2024-07-27 16:04:15 +02:00
Author
Owner

J'ai trouvé une solution de contournement, à base de flags conditionnels et de duplication de code ... C'est mieux que rien, même si ça n'est pas totalement satisfaisant.

On verra si j'obtiens des réponses sur le Discord de Rust ; il faudra peut-être, sinon, tenter dans les issues github.

J'ai trouvé une solution de contournement, à base de flags conditionnels et de duplication de code ... C'est mieux que rien, même si ça n'est pas totalement satisfaisant. On verra si j'obtiens des réponses sur le Discord de Rust ; il faudra peut-être, sinon, tenter dans les issues github.
florian_briand added 1 commit 2024-07-27 16:20:18 +02:00
florian_briand added 1 commit 2024-07-27 16:36:52 +02:00
florian_briand force-pushed feature-setup-clego from 72b83e9448 to 358a279f5c 2024-07-29 19:43:27 +02:00 Compare
florian_briand merged commit ad7a0f2594 into main 2024-07-29 19:43:50 +02:00
florian_briand deleted branch feature-setup-clego 2024-07-29 19:43:51 +02:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: P4Pillon/Krys4lide#23
No description provided.