Forum de la communauté SFML
Bindings - autres langages => C => Discussion démarrée par: KP le Mai 18, 2012, 04:38:44 pm
-
Bonjour,
Ma question va sans doute paraître ridicule, mais où se trouvent les informations qui expliquent comment compiler les sources de l'interface C ?
merci d'avance
-
Nulle part :)
Il faut se débrouiller, mais bon c'est pas très compliqué si tu as déjà compilé SFML.
-
oops, PS j'ai oublié de préciser que je cherchais à compiler sous Linux.
donc oui j'ai déjà compilé la version GIT de SFML (dans le répertoire /tmp/SFML-git)
en faisant 'cmake .' puis 'make'
j'ai mis l'interface C dans /tmp/CSFML-git
j'ai essayé avec :
$ export CMAKE_MODULE_PATH=/tmp/SFML-git/cmake/Modules/
et avec :
$ export SFML_DIR=/tmp/SFML-git
mais 'cmake .' retourne toujours la même erreur
-
mais 'cmake .' retourne toujours la même erreur
... qui est ?
-
CMake Error at src/SFML/CMakeLists.txt:22 (find_package):
Could not find module FindSFML.cmake or a configuration file for package
SFML.
Adjust CMAKE_MODULE_PATH to find FindSFML.cmake or set SFML_DIR to the
directory containing a CMake configuration file for SFML. The file will
have one of the following names:
SFMLConfig.cmake
sfml-config.cmake
-- Configuring incomplete, errors occurred!
-
En fait, CMAKE_MODULE_PATH doit être une variable CMake, pas une variable d'environnement.
-
c'est à dire ? je dois éditer quel fichier ?
-
Aucun, il faut la donner en paramètre lorsque tu invoques CMake. La manière de faire dépend de comment tu utilises CMake, en ligne de commande ou via une interface graphique.
N'hésite pas à lire de la doc ou des tutoriels sur CMake aussi ;)
-
finalement j'ai édité le fichier "src/SFML/CMakeLists.txt" et j'y ai mis :
set(CMAKE_MODULE_PATH "/tmp/SFML-git/cmake/Modules/")
-
N'hésite pas à lire de la doc ou des tutoriels sur CMake aussi ;)
Oui très bien, mais si je peux m'en passer ce sera plus de temps pour des choses plus productives.
En général pour un projet libre, on peut se contenter de taper juste make sans lire la doc de make.
En tout cas merci beaucoup pour l'aide !
-
J'aimerais aussi que les gens puissent juste taper "make" :)
Si tu copies manuellement le fichier SFML/cmake/Modules/FindSFML.cmake dans /usr/share/cmake-2.8/Modules (j'espère qu'un jour ce sera inclus de manière standard dans CMake !), et si SFML est installée dans un chemin standard, alors tu peux compiler CSFML sans rien paramétrer.
Note aussi que dans très peu de temps, CSFML sera dans les dépôts standards, alors la compilation "2 secondes" n'est pas vraiment importante, surtout sous Linux.
-
Si tu copies manuellement le fichier SFML/cmake/Modules/FindSFML.cmake dans /usr/share/cmake-2.8/Modules (j'espère qu'un jour ce sera inclus de manière standard dans CMake !), et si SFML est installée dans un chemin standard, alors tu peux compiler CSFML sans rien paramétrer.
Sauf que j'ai la version 1.6 d'installée, et que je souhaite la conserver.
Note aussi que dans très peu de temps, CSFML sera dans les dépôts standards, alors la compilation "2 secondes" n'est pas vraiment importante, surtout sous Linux.
Plein de gens veulent compiler les sources pour différentes raisons.
Par exemple pour tester la RC.
Surtout que la compilation "2 secondes" en fait on l'a, il manque juste un fichier README, ou une page sur le site web, pour expliquer la procédure.
-
Sauf que j'ai la version 1.6 d'installée, et que je souhaite la conserver.
Hum? Mais si tu as fait ça:
j'ai déjà compilé la version GIT de SFML
... il s'agit de SFML 2, pas 1.6.
Par exemple pour tester la RC.
La RC est fournie sous forme de packages précompilés, pourquoi ne pas les utiliser ?
Surtout que la compilation "2 secondes" en fait on l'a, il manque juste un fichier README, ou une page sur le site web, pour expliquer la procédure.
Oui en effet. Mais je ne maintiens le binding C que pour permettre d'autres bindings (.Net par exemple), alors j'avoue que je ne m'attarde pas trop sur la documentation.
D'ailleurs je suis toujours étonné que des gens l'utilisent tel quel, l'API n'est vraiment pas optimale pour du C.