[Tutorial] Compiler et packager le moteur Solarus sur (Mac)OSX

Démarré par vlag67, 11 Mai 2013 à 23:01

0 Membres et 1 Invité sur ce sujet

11 Mai 2013 à 23:01 Dernière édition: 09 Août 2014 à 11:15 par vlag67
Yop

Comme il y a eu des demandes dans ce sens, et que je l'ai déjà fait plusieurs fois par MP, je me suis dit que ça pourrais toujours servir d'en faire un petit tuto, en plus du fichier d'install qui est en anglais.
C'est grosso-modo une copie des MP que j'ai pu avoir, mais c'est le moyen le plus rapide de compiler et packager le moteur de jeu Solarus (1.2.0 et supérieur).
La suite de ce post est faite à partir de 10.9, il pourra y avoir de légers changements selon les versions.
Donc, pour ceux qui voudront s'attaquer à la lourde tâche de compiler sur OSX... Accrochez-vous :)


* Première étape : installer les dépendances

Commencez par installer CMake .
Ensuite, on va faire au plus simple. Pour éviter de rechercher les dépendances à gauche et à droite, j'ai préparé une archive contenant celles utilisées pour le port 1.2 officiel (compatible OSX 10.6 et supérieurs).
Le *contenu* du répertoire "Frameworks" se place dans /Library/Frameworks (Bibliotheque/Frameworks avec l'interface graphique), celui du répertoire "lib" dans /usr/local/lib, et celui du répertoire "include" dans /usr/local/include

Si, à la deuxième étape, des dépendances ne sont pas trouvées pour une raison X, vous pouvez modifier le fichier CMakeCache.txt pour indiquer les bons emplacements.


* Deuxième étape : compiler le moteur

Encore plus facile :)
Après avoir téléchargé les sources, on ouvre un terminal (spotlight => terminal) et on se déplace dans le répertoire du moteur (solarus-master dans mon cas).

$ cd Desktop/solarus-master
si il est placé sur le bureau, puis

$ cmake -DSOLARUS_BUNDLE="Votre nom de jeu ou fork" .
$ make

pour compiler le moteur et construire le bundle "presque final" (= sans quête), puis éventuellement

$ sudo make install
pour l'installer dans /Applications .

Le flag -DSOLARUS_BUNDLE sert à construire tout le package d'un coup. Si vous ne voulez que le binaire, il suffit de l'enlever pour avoir exactement la même procédure que sous Linux.
On peut éventuellement choisir de générer un projet XCode avec un flag "-G XCode". Je ne suis pas fan de cette solution qui rajoute un intermédiaire, mais ça peut être pratique si on compte compiler souvent sans faire un script :)


* Troisème étape : construire la quête (facultatif)

Je pars du principe que cette étape est utilisée uniquement pour le packaging, puisque Christopho a très justement rappelé qu'on n'avait pas besoin de jouer avec la quête compressée.
Donc, on télécharge la quête (zsdx pour l'exemple), et on fait exactement comme pour compiler le moteur, sauf qu'on le fait avec

$ cmake .
$ make



* Quatrième étape : rajouter la quête dans le package

Décidément, de plus en plus facile :)
Pour utiliser notre quête (le fichier data.solarus obtenu, ou le dossier data/) avec le moteur packagé, on la place dans le bundle, dans Contents/Resources/



Vala, petit testament au cas ou ...
Bonne compilation, et hésitez pas pour les retours/critiques :)

Ah j'oubliais : et pondez-nous des beaux jeux hein ! ;)

Le bundle ne sert que pour packager une version finie et la distribuer aux joueurs.
Est-ce qu'il y a moyen sous Mac OS, pour tester les modifications facilement lors du développement d'un jeu, d'exécuter une quête directement (sans faire un bundle ni un data.solarus à chaque fois) ?

Par exemple moi quand j'enregistre les changements d'une map dans l'éditeur, je n'ai rien à faire. Je ne relance même pas le jeu : dès que je reviens sur cette map, je peux voir les changements.
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

Yep :)

Si on ne passe pas le flag SOLARUS_BUNDLE à cmake, la procédure est exactement la même que sous linux.
Donc un petit coup de

$ cmake .
$ make
$ sudo make install

dans le repertoire du moteur et de la quête :)

Ouais mais y'a pas besoin de ça pour la quête. Le data.solarus n'est pas nécessaire, on peut jouer avec le répertoire data directement.

Par ailleurs, concernant le moteur, rien n'oblige de l'installer.

Bref tout a l'air de marcher aussi facilement que sous linux, donc bravo :)
Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus

Ah oui exact en fait, j'ai poussé le tuto un peu trop loin ^^

Pas de soucis, au plaisir de remettre ça pour un port iOS à l'occasion :)