|
gKit2 light
|
créer un répertoire de travail, puis :
git clone https://forge.univ-lyon1.fr/Alexandre.Meyer/gkit2light.git
gKit2 utilise une seule librairie : sdl2, il faut l'installer avant de pouvoir compiler les exemples. ainsi qu'un utilitaire : premake5.
les étapes sont légèrement différentes d'un système à l'autre (et d'un compilateur à l'autre aussi..). une fois la librairie installée, il suffit de générer les projets pour votre environnement de développement et compiler les exemples :
c'est l'outil premake qui permet de créer les projets, et les makefiles, cf section premake
installez les paquets, si nécessaire (pas la peine au nautibus) : libsdl2-dev et premake5, s'il est disponible. par exemple, pour ubuntu et ses variantes :
sudo apt install libsdl2-dev premake5
si premake5 n'est pas disponible dans un paquet, il suffit de le récupérer sur le site officiel. dezippez l'archive et copiez premake5 dans le répertoire de gKit. il faudra aussi se donner l'autorisation de l'exécuter :
chmod u+x ./premake5
les librairies et premake5 sont regroupées dans une archive disponible ici.
les librairies et premake5 sont regroupées dans une archive disponible ici.
comme sous linux, il faudra aussi se donner l'autorisation de l'exécuter :
chmod u+x ./premake5
les librairies et premake5 sont également dispos dans le gestionnaire de paquets brew. utiliser brew est probablement la solution la plus directe.
pourquoi ? gkit compile et fonctionne sur linux, windows, mac os, ios, android et même WebGL. Chaque système dispose de plusieurs compilateurs et environnements de travail. Il n'est pas envisageable de créer et de maintenir tous ces projets manuellement. gkit utilise donc un outil : un générateur de projet, ce qui permet de décrire les projets une seule fois et c'est l'outil (premake dans ce cas...) qui génère le projet pour votre environnement de travail.
il faut donc apprendre à générer le projet pour votre environnement de travail, en utilisant premake.
ouvrez un terminal, et naviguez jusqu'au répertoire contenant gKit :
rappel : commandes ls et cd pour naviguer.
./premake5.exe codeblocks
le workspace (groupe de projets) codeblocks ainsi que les projets sont crées dans le répertoire build/, ouvrez build/gKit2light.workspace.
pour générer une solution (groupe de projets) visual studio, il suffit de choisir la bonne version :
./premake5.exe vs2022 ou ./premake5.exe vs2026
la solution visual studio ainsi que les projets sont crées dans le répertoire build/, ouvrez build/gkit2light.sln.
./premake5 xcode
./premake5 gmake
le Makefile se trouve dans le répertoire de base de gKit.
premake5 gmake // si premake5 est installé dans le système (ie avec un paquet) ./premake5 gmake // si premake5 est copié dans le répertoire de gKit
le Makefile se trouve dans le répertoire de base de gKit.
compilez le projet tp, cf projets/tp.cpp par exemple, si vous voulez vérifier qu'une application openGL fonctionne. sinon vous pouvez compiler base, cf projets/base.cpp, si vous souhaitez vérifier qu'une application simple fonctionne.
les makefile peuvent générer les versions debug (cf utiliser un debugger comme gdb ou lldb) ou les versions release, plus rapides (2 ou 3 fois, intéressant pour les projets avec beaucoup de calculs) :
les exécutables sont crées dans le répertoire gkit2light/bin, pour les exécuter :
bin/tp
remarque : gKit charge quelques fichiers au démarrage, il faut l'exécuter depuis le répertoire de base gKit2light/, sinon les fichiers ne seront pas correctement chargés.
pour ajouter un nouveau projet, le plus simple est de modifier premake5.lua et de tout re-générer. Il y a 2 solutions :
le plus simple est d'ajouter votre fichier .cpp dans le répertoire projets et de modifier la liste des projets dans premake5.lua.
trouvez cette déclaration dans premake5.lua :
-- description des projets
local projects = {
"base"
}
et ajoutez votre fichier, sans l'extension .cpp, par exemple tp1 :
local projects = {
"base",
"tp1"
}
et regénérez le projet, cf premake5 gmake / vs2022 / xcode ...
ajoutez la description de votre projet à la fin du fichier premake5.lua. en supposant que les sources se trouvent dans le répertoire tp1 :
et regénérez le projet, cf premake gmake / vs2022 / xcode ...
premake ne connait pas la version du windows sdk actuellement installé sur votre machine. par défaut, il génère des projets pour le sdk de base de windows 11. si cette version du sdk n'est pas installée et que les exemples ne compilent pas, pas de panique : ouvrez la solution générée, dans visual studio :
pour compiler un projet qui utilise gKit, il suffit de compiler tous les fichiers .cpp de src/gKit + ceux du projet et de linker avec openGL et SDL2.
avec g++, c'est direct :
il faut aussi indiquer dans quel répertoire se trouvent les fichiers .h / les headers, cf -I src/gKit dans les options de g++. si les librairies ne sont pas installées dans le système, il suffit de donner les répertoires avec les options -L repertoire et éventuellement -Wl,-rpath repertoire
tous les environnements de travail permettent de décrire ces informations, il faut apprendre à le faire...
vcpkg est un gestionnaire de paquets pour windows qui permet d'installer les librairies pour visual studio (mais pas les autres compilateurs...) :
vcpkg peut installer les librairies dans un répertoire standard de visual studio (cf l'option integrate), ce qui permet de compiler et de linker sans trop de problèmes !
par contre, il faudra modifier gkit.lua qui configure la solution avec le répertoire extern/visual, il suffit de supprimer les lignes :
dans la section configuration { "windows", "vs*" }
remplacez également le nom des configuration "debug" et "release" par "Debug" et "Release", qui sont reconnues automatiquement par visual studio et vcpkg. ie au début du fichier gkit.lua, remplacez :
par
la liste des paquets / librairies / utilitaires de vcpkg est disponible https://vcpkg.io/en/packages.html