Ces derniers jours, je me suis efforcé de faire ce qu'il faut pour pouvoir avoir un systeme de build basé sur CMake, pour libti* et tilp+gfm.
Au coût de laisser de côté (à priori) la compatibilité avec des systèmes étranges/archaïques (parce que je n'ai simplement pas pris le temps de m'en occuper, mais ce serait faisable...)
On gagne beaucoup en clarté sur le système de build (ca remplace autotools etc.), sa maintenabilité, le temps de build... Du moins c'est mon avis, mais le nombre de lignes est une mesure objective
Par ailleurs, ça a l'effet de bord positif de rendre plutôt trivial le link static (c'était de toute façon assez trivial avant aussi), surtout pour libti*, mais aussi pour tilp et gfm.
Sauf pour gfm_static qui a des erreurs au runtime, tout fonctionne, so far (libti* shared+static, tilp stared+static, gfm shared)
En gros, je vais donc tenter de faire une build de tilp "autant static que possible" pour simplifier la distribution de tilp
Si ça fonctionne comme je l'espère, il n'y aura plus que quelques composants à installer via brew (car malheureusement, certains trucs gui comme gtk ne sont pas fournis en static facilement). Dans tous les cas, le but est de ne plus avoir de compilation à faire par soi-même, ce qui met une certaine barriere, au final, à un certain nombre d'utilisateurs.
La derniere fois que j'ai tenté de packager les dylibs dans le .app directement, ça n'a pas fonctionné, malheureusement, donc il faudrait essayer de creuser, si jamais, ca permettrait de ne plus avoir directement qu'un fichier à distribuer... mais bon on progresse déjà par ailleurs.
(side-effect supplémentaire de tout ceci : ça permet d'avancer un peu sur un éventuel WebTILP via webassembly, qui a besoin de link static)
Cf.
https://github.com/adriweb/tilp_and_gfm/tree/cmake et
https://github.com/adriweb/tilibs/tree/cmakeCe n'est pas encore tout à fait prêt pour être mergé, mais ce n'est pas super loin non plus je pense.