Forum de la communauté SFML

Aide => Général => Discussion démarrée par: Basta le Février 27, 2013, 06:33:47 pm

Titre: [CMake] FindSFML
Posté par: Basta le Février 27, 2013, 06:33:47 pm
Bonjour, je débute dans l'utilisation de CMake et je rencontre des problèmes en essayant d'importer SFML 2 avec le FindSFML.cmake trouvé sur github, SFML ne semble pas être trouvée, voici l'erreur :

CMake Error at cmake_modules/FindSFML.cmake:199 (message):
  Could NOT find SFML (missing: SFML_SYSTEM_LIBRARY SFML_WINDOW_LIBRARY
  SFML_GRAPHICS_LIBRARY SFML_AUDIO_LIBRARY)
Call Stack (most recent call first):
  CMakeLists.txt:8 (FIND_PACKAGE)
 

Voici le CMakeLists.txt :

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

PROJECT(OpenGLTest)

SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH})

FIND_PACKAGE(SFML 2 COMPONENTS system window graphics audio REQUIRED)
FIND_PACKAGE(OpenGL REQUIRED)

SET(
        ALL_LIBS
        ${SFML_LIBRARIES}
        ${OPENGL_LIBRARIES}
)
       
INCLUDE_DIRECTORIES(
        include/
        ${SFML_INCLUDE_DIR}
        ${OPENGL_INCLUDE_DIR}
)

FILE(
        GLOB_RECURSE
        ${PROJECT_NAME}_SOURCES
        src/*.cpp
)
FILE(
        GLOB_RECURSE
        ${PROJECT_NAME}_HEADERS
        include/*.h
)
       
ADD_EXECUTABLE(
        ${PROJECT_NAME}
        ${${PROJECT_NAME}_SOURCES}
        ${${PROJECT_NAME}_HEADERS}
)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${ALL_LIBS})
 

En sachant que j'ai installé SFML 2 à l'emplacement suivant : C:\Prog\SFML-2.0
Titre: Re : [CMake] FindSFML
Posté par: Laurent le Février 27, 2013, 08:39:32 pm
Citer
En sachant que j'ai installé SFML 2 à l'emplacement suivant : C:\Prog\SFML-2.0
Et à quel moment est-ce que tu communiques cette information à CMake ?
Titre: Re : [CMake] FindSFML
Posté par: Basta le Février 27, 2013, 09:22:08 pm
Eh bien justement je ne sais pas ce que je doit faire de plus ou de moins
Titre: Re : [CMake] FindSFML
Posté par: Laurent le Février 27, 2013, 10:05:16 pm
Tout est expliqué au début du fichier, j'y ai mis un gros pâté qui détaille tout. Notamment que si SFML n'est pas installée dans un chemin standard, il faut forcément dire à CMake où elle se trouve, via la variable (CMake ou d'environnement) SFML_ROOT, qui doit donc contenir, dans ton cas, C:\Prog\SFML-2.0.