From 8764021d9e583d4ed65fbfab2d1c658f38778024 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 29 Dec 2014 18:18:36 +0300 Subject: [PATCH] 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 --- cmake/FindSDL2.cmake | 16 +++------------- cmake/FindSDL2_image.cmake | 16 +++------------- cmake/FindSDL2_ttf.cmake | 16 +++------------- 3 files changed, 9 insertions(+), 39 deletions(-) diff --git a/cmake/FindSDL2.cmake b/cmake/FindSDL2.cmake index 0805e75..9508b53 100644 --- a/cmake/FindSDL2.cmake +++ b/cmake/FindSDL2.cmake @@ -10,18 +10,8 @@ FIND_PATH(SDL2_INCLUDE_DIR NAMES SDL2/SDL.h) FIND_LIBRARY(SDL2_LIBRARY NAMES SDL2) -IF(SDL2_INCLUDE_DIR AND SDL2_LIBRARY) - SET(SDL2_FOUND TRUE) -ENDIF(SDL2_INCLUDE_DIR AND SDL2_LIBRARY) +INCLUDE(FindPackageHandleStandardArgs) -IF(SDL2_FOUND) - 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) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_INCLUDE_DIR SDL2_LIBRARY) -MARK_AS_ADVANCED(SDL2_INCLUDE_DIR SDL2_LIBRARY SDL2_FOUND) +MARK_AS_ADVANCED(SDL2_INCLUDE_DIR SDL2_LIBRARY) diff --git a/cmake/FindSDL2_image.cmake b/cmake/FindSDL2_image.cmake index ce91f56..815932f 100644 --- a/cmake/FindSDL2_image.cmake +++ b/cmake/FindSDL2_image.cmake @@ -10,18 +10,8 @@ FIND_PATH(SDL2_IMAGE_INCLUDE_DIR NAMES SDL2/SDL_image.h) FIND_LIBRARY(SDL2_IMAGE_LIBRARY NAMES SDL2_image) -IF(SDL2_IMAGE_INCLUDE_DIR AND SDL2_IMAGE_LIBRARY) - SET(SDL2_IMAGE_FOUND TRUE) -ENDIF(SDL2_IMAGE_INCLUDE_DIR AND SDL2_IMAGE_LIBRARY) +INCLUDE(FindPackageHandleStandardArgs) -IF(SDL2_IMAGE_FOUND) - 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) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_image REQUIRED_VARS SDL2_IMAGE_INCLUDE_DIR SDL2_IMAGE_LIBRARY) -MARK_AS_ADVANCED(SDL2_IMAGE_INCLUDE_DIR SDL2_IMAGE_LIBRARY SDL2_IMAGE_FOUND) +MARK_AS_ADVANCED(SDL2_IMAGE_INCLUDE_DIR SDL2_IMAGE_LIBRARY) diff --git a/cmake/FindSDL2_ttf.cmake b/cmake/FindSDL2_ttf.cmake index 3161fef..5cfc67d 100644 --- a/cmake/FindSDL2_ttf.cmake +++ b/cmake/FindSDL2_ttf.cmake @@ -10,18 +10,8 @@ FIND_PATH(SDL2_TTF_INCLUDE_DIR NAMES SDL2/SDL_ttf.h) FIND_LIBRARY(SDL2_TTF_LIBRARY NAMES SDL2_ttf) -IF(SDL2_TTF_INCLUDE_DIR AND SDL2_TTF_LIBRARY) - SET(SDL2_TTF_FOUND TRUE) -ENDIF(SDL2_TTF_INCLUDE_DIR AND SDL2_TTF_LIBRARY) +INCLUDE(FindPackageHandleStandardArgs) -IF(SDL2_TTF_FOUND) - 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) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_ttf REQUIRED_VARS SDL2_TTF_INCLUDE_DIR SDL2_TTF_LIBRARY) -MARK_AS_ADVANCED(SDL2_TTF_INCLUDE_DIR SDL2_TTF_LIBRARY SDL2_TTF_FOUND) +MARK_AS_ADVANCED(SDL2_TTF_INCLUDE_DIR SDL2_TTF_LIBRARY)