cmake_modules/FindSDL1or2.cmake
author nemo
Sun, 04 Jan 2015 00:44:14 -0500
branch0.9.21
changeset 10743 1d16c5414fee
parent 9650 1c7c87ce37fd
permissions -rw-r--r--
Intent is to allow filtering by arbitrary flag combinations. This isn't actually working yet. No idea why. It seems it should. Tired though, so will look at it tomorrow.

find_package(SDL QUIET)

if(NOT SDL_FOUND)
    find_package(SDL2 REQUIRED)
    set(SDL_INCLUDE_DIR ${SDL2_INCLUDE_DIR})
    set(SDL_LIBRARY ${SDL2_LIBRARY})
endif()

if(NOT SDL_VERSION)
    #find which version of SDL we have
    find_file(sdlversion_h SDL_version.h ${SDL_INCLUDE_DIR})
    if(sdlversion_h)
        file(STRINGS ${sdlversion_h} sdl_majorversion_tmp REGEX "SDL_MAJOR_VERSION[\t' ']+[0-9]+")
        file(STRINGS ${sdlversion_h} sdl_minorversion_tmp REGEX "SDL_MINOR_VERSION[\t' ']+[0-9]+")
        file(STRINGS ${sdlversion_h} sdl_patchversion_tmp REGEX "SDL_PATCHLEVEL[\t' ']+[0-9]+")
        string(REGEX MATCH "([0-9]+)" sdl_majorversion "${sdl_majorversion_tmp}")
        string(REGEX MATCH "([0-9]+)" sdl_minorversion "${sdl_minorversion_tmp}")
        string(REGEX MATCH "([0-9]+)" sdl_patchversion "${sdl_patchversion_tmp}")
        set(SDL_VERSION "${sdl_majorversion}.${sdl_minorversion}.${sdl_patchversion}")
    endif()
endif()

mark_as_advanced(sdlversion_h sdl_majorversion sdl_minorversion sdl_patchversion)