FindSDL: Version support for FindSDL_image
This commit is contained in:
parent
a5796112cb
commit
34e1a2ae56
|
@ -3,6 +3,7 @@
|
||||||
# SDLIMAGE_LIBRARY, the name of the library to link against
|
# SDLIMAGE_LIBRARY, the name of the library to link against
|
||||||
# SDLIMAGE_FOUND, if false, do not try to link to SDL
|
# SDLIMAGE_FOUND, if false, do not try to link to SDL
|
||||||
# SDLIMAGE_INCLUDE_DIR, where to find SDL/SDL.h
|
# SDLIMAGE_INCLUDE_DIR, where to find SDL/SDL.h
|
||||||
|
# SDLIMAGE_VERSION_STRING - human-readable string containing the version of SDL_image
|
||||||
#
|
#
|
||||||
# $SDLDIR is an environment variable that would
|
# $SDLDIR is an environment variable that would
|
||||||
# correspond to the ./configure --prefix=$SDLDIR
|
# correspond to the ./configure --prefix=$SDLDIR
|
||||||
|
@ -58,7 +59,24 @@ find_library(SDLIMAGE_LIBRARY
|
||||||
/opt
|
/opt
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(SDLIMAGE_INCLUDE_DIR AND EXISTS "${SDLIMAGE_INCLUDE_DIR}/SDL_image.h")
|
||||||
|
file(STRINGS "${SDLIMAGE_INCLUDE_DIR}/SDL_image.h" SDLIMAGE_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+[0-9]+$")
|
||||||
|
file(STRINGS "${SDLIMAGE_INCLUDE_DIR}/SDL_image.h" SDLIMAGE_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+[0-9]+$")
|
||||||
|
file(STRINGS "${SDLIMAGE_INCLUDE_DIR}/SDL_image.h" SDLIMAGE_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+[0-9]+$")
|
||||||
|
string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDLIMAGE_VERSION_MAJOR "${SDLIMAGE_VERSION_MAJOR_LINE}")
|
||||||
|
string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDLIMAGE_VERSION_MINOR "${SDLIMAGE_VERSION_MINOR_LINE}")
|
||||||
|
string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDLIMAGE_VERSION_PATCH "${SDLIMAGE_VERSION_PATCH_LINE}")
|
||||||
|
set(SDLIMAGE_VERSION_STRING ${SDLIMAGE_VERSION_MAJOR}.${SDLIMAGE_VERSION_MINOR}.${SDLIMAGE_VERSION_PATCH})
|
||||||
|
unset(SDLIMAGE_VERSION_MAJOR_LINE)
|
||||||
|
unset(SDLIMAGE_VERSION_MINOR_LINE)
|
||||||
|
unset(SDLIMAGE_VERSION_PATCH_LINE)
|
||||||
|
unset(SDLIMAGE_VERSION_MAJOR)
|
||||||
|
unset(SDLIMAGE_VERSION_MINOR)
|
||||||
|
unset(SDLIMAGE_VERSION_PATCH)
|
||||||
|
endif()
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||||
|
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDLIMAGE
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDLIMAGE
|
||||||
REQUIRED_VARS SDLIMAGE_LIBRARY SDLIMAGE_INCLUDE_DIR)
|
REQUIRED_VARS SDLIMAGE_LIBRARY SDLIMAGE_INCLUDE_DIR
|
||||||
|
VERSION_VAR SDLIMAGE_VERSION_STRING)
|
||||||
|
|
Loading…
Reference in New Issue