Improve CMake library detection modules

- Use standard FIND_PACKAGE_HANDLE_STANDARD_ARGS instead of custom code
- Fix reporting not found dependencies (was broken due to SDL2_ttf vs.
  SDL2_TTF), FIND_PACKAGE_HANDLE_STANDARD_ARGS handles this gracefully
This commit is contained in:
Dmitry Marakasov 2014-12-29 18:18:36 +03:00
parent 25cfb442f6
commit 8764021d9e
3 changed files with 9 additions and 39 deletions

View File

@ -10,18 +10,8 @@ FIND_PATH(SDL2_INCLUDE_DIR NAMES SDL2/SDL.h)
FIND_LIBRARY(SDL2_LIBRARY NAMES SDL2) FIND_LIBRARY(SDL2_LIBRARY NAMES SDL2)
IF(SDL2_INCLUDE_DIR AND SDL2_LIBRARY) INCLUDE(FindPackageHandleStandardArgs)
SET(SDL2_FOUND TRUE)
ENDIF(SDL2_INCLUDE_DIR AND SDL2_LIBRARY)
IF(SDL2_FOUND) FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_INCLUDE_DIR SDL2_LIBRARY)
IF(NOT SDL2_FIND_QUIETLY)
MESSAGE(STATUS "Found SDL2: -I${SDL2_INCLUDE_DIR}, ${SDL2_LIBRARY}")
ENDIF(NOT SDL2_FIND_QUIETLY)
ELSE(SDL2_FOUND)
IF(SDL2_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find SDL2")
ENDIF(SDL2_FIND_REQUIRED)
ENDIF(SDL2_FOUND)
MARK_AS_ADVANCED(SDL2_INCLUDE_DIR SDL2_LIBRARY SDL2_FOUND) MARK_AS_ADVANCED(SDL2_INCLUDE_DIR SDL2_LIBRARY)

View File

@ -10,18 +10,8 @@ FIND_PATH(SDL2_IMAGE_INCLUDE_DIR NAMES SDL2/SDL_image.h)
FIND_LIBRARY(SDL2_IMAGE_LIBRARY NAMES SDL2_image) FIND_LIBRARY(SDL2_IMAGE_LIBRARY NAMES SDL2_image)
IF(SDL2_IMAGE_INCLUDE_DIR AND SDL2_IMAGE_LIBRARY) INCLUDE(FindPackageHandleStandardArgs)
SET(SDL2_IMAGE_FOUND TRUE)
ENDIF(SDL2_IMAGE_INCLUDE_DIR AND SDL2_IMAGE_LIBRARY)
IF(SDL2_IMAGE_FOUND) FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_image REQUIRED_VARS SDL2_IMAGE_INCLUDE_DIR SDL2_IMAGE_LIBRARY)
IF(NOT SDL2_IMAGE_FIND_QUIETLY)
MESSAGE(STATUS "Found SDL2_image: -I${SDL2_IMAGE_INCLUDE_DIR}, ${SDL2_IMAGE_LIBRARY}")
ENDIF(NOT SDL2_IMAGE_FIND_QUIETLY)
ELSE(SDL2_IMAGE_FOUND)
IF(SDL2_IMAGE_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find SDL2")
ENDIF(SDL2_IMAGE_FIND_REQUIRED)
ENDIF(SDL2_IMAGE_FOUND)
MARK_AS_ADVANCED(SDL2_IMAGE_INCLUDE_DIR SDL2_IMAGE_LIBRARY SDL2_IMAGE_FOUND) MARK_AS_ADVANCED(SDL2_IMAGE_INCLUDE_DIR SDL2_IMAGE_LIBRARY)

View File

@ -10,18 +10,8 @@ FIND_PATH(SDL2_TTF_INCLUDE_DIR NAMES SDL2/SDL_ttf.h)
FIND_LIBRARY(SDL2_TTF_LIBRARY NAMES SDL2_ttf) FIND_LIBRARY(SDL2_TTF_LIBRARY NAMES SDL2_ttf)
IF(SDL2_TTF_INCLUDE_DIR AND SDL2_TTF_LIBRARY) INCLUDE(FindPackageHandleStandardArgs)
SET(SDL2_TTF_FOUND TRUE)
ENDIF(SDL2_TTF_INCLUDE_DIR AND SDL2_TTF_LIBRARY)
IF(SDL2_TTF_FOUND) FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_ttf REQUIRED_VARS SDL2_TTF_INCLUDE_DIR SDL2_TTF_LIBRARY)
IF(NOT SDL2_TTF_FIND_QUIETLY)
MESSAGE(STATUS "Found SDL2_ttf: -I${SDL2_TTF_INCLUDE_DIR}, ${SDL2_TTF_LIBRARY}")
ENDIF(NOT SDL2_TTF_FIND_QUIETLY)
ELSE(SDL2_TTF_FOUND)
IF(SDL2_TTF_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find SDL2")
ENDIF(SDL2_TTF_FIND_REQUIRED)
ENDIF(SDL2_TTF_FOUND)
MARK_AS_ADVANCED(SDL2_TTF_INCLUDE_DIR SDL2_TTF_LIBRARY SDL2_TTF_FOUND) MARK_AS_ADVANCED(SDL2_TTF_INCLUDE_DIR SDL2_TTF_LIBRARY)