Jeu de stratégie tactique au tour par tour, open source (GPL). Voir le wiki pour la documentation générale du projet et des données de jeu.
Ce fichier documente la compilation sur cette machine (Ubuntu 24.04 / GCC récent /
Binutils 2.42) — voir ANALYSE.md pour le détail des problèmes rencontrés et
corrigés en portant le projet vers ce toolchain.
En plus des dépendances habituelles du projet (SDL, SDL_mixer, SDL_ttf, libpng, libjpeg, zlib, gettext, etc.), cette machine nécessite en plus :
sudo apt install libiberty-dev
libiberty.a est requis pour lier ufo, ufoded et testall (support de
stacktrace via libbfd, cf. src/shared/bfd.cpp). Sans ce paquet, l'édition de
liens échoue avec ne peut pas trouver -liberty.
binutils-dev (pour bfd.h) et libcunit1-dev (pour CUnit/Basic.h, requis
par make testall) doivent aussi être installés, mais le sont généralement déjà
sur un poste de développement C++ standard.
Pour construire le jeu, les outils et l'éditeur de niveaux ensemble :
./configure --enable-release --enable-uforadiant --enable-ufoslicer --enable-ufomodel --enable-ufoded --enable-ufo2map
make -j$(nproc)
Binaires produits à la racine du dépôt : ufo, ufoded, ufo2map, ufomodel,
ufoslicer, ainsi que radiant/uforadiant.
make -j et les cartes de testSi make testall échoue en parallèle avec une erreur du type unittest/maps/*.bsp: commande introuvable (erreur 127), c'est que la règle de compilation des cartes de
test s'est exécutée avant que ufo2map (dont elle dépend au runtime, pas au niveau
des règles make) ne soit fini d'être lié — une course pré-existante entre cibles
sœurs du Makefile. Contournement : compiler ufo2map d'abord, puis relancer le
build complet :
make ufo2map -j$(nproc)
make -j$(nproc)
./testall -a # mode automatisé, écrit ufoai-Results.xml (non versionné)
Résultat attendu sur cette configuration : 130/132 tests exécutés (130 réussis, 0
échec) — MapDefTests est désactivée par défaut au démarrage, d'où l'écart avec le
total de 132.