SDL não encontrado pelo CMake

1

Estou criando o app cmake que usa o SDL. Mas este código diz que o SDL não foi encontrado:

find_package(SDL)
find_package(SDL_mixer)
find_package(SDL_image)
find_package(SDL_ttf)
...
if( SDL_FOUND STREQUAL "YES" )
    MESSAGE( STATUS "SDL FOUND: " ${SDL_INCLUDE_DIR} " : " ${SDL_LIBRARY} )
    link_directories( ${SDL_LIBRARY} )
else( SDL_FOUND STREQUAL "NO" )
    MESSAGE( STATUS "SDL NOT FOUND: " ${SDL_INCLUDE_DIR} " : " ${SDL_LIBRARY} )
endif( SDL_FOUND STREQUAL "YES" )

Imprime esta mensagem estranha:

-- SDL NOT FOUND: /usr/include/SDL : /usr/lib/x86_64-linux-gnu/libSDLmain.a/usr/lib/x86_64-linux-gnu/libSDL.so-lpthread

Conforme eu verifiquei, /usr/include/SDL exsist e contém todos os cabeçalhos necessários, e os arquivos da biblioteca ( .a e .so ) estão em /usr/lib/x86_64-linux-gnu . O que está errado?

UPD: Depois de substituir o STREQUAL pela simples verificação booleana, posso ver:

-- SDL FOUND: /usr/include/SDL : /usr/lib/x86_64-linux-gnu/libSDLmain.a/usr/lib/x86_64-linux-gnu/libSDL.so-lpthread
CMake Warning (dev) at CMakeLists.txt:55 (link_directories):
  This command specifies the relative path

    -lpthread

  as a link directory.

  Policy CMP0015 is not set: link_directories() treats paths relative to the
  source dir.  Run "cmake --help-policy CMP0015" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

Mas make falhou:

fatal error: SDL.h: No such file or directory
    
por val 08.04.2017 / 21:39

0 respostas