summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRolf Eike Beer <eike@sf-mail.de>2012-01-26 17:19:06 (GMT)
committerRolf Eike Beer <eike@sf-mail.de>2012-01-26 17:19:31 (GMT)
commit815a6a2e5c5c02492f97fe37eab7594ceb1e0408 (patch)
tree68768074f027aba27bfce56a10e6f2ba8bf222e5
parent208569f1da0cf2c481f4b377ad4fe542a3a74e2a (diff)
downloadCMake-815a6a2e5c5c02492f97fe37eab7594ceb1e0408.zip
CMake-815a6a2e5c5c02492f97fe37eab7594ceb1e0408.tar.gz
CMake-815a6a2e5c5c02492f97fe37eab7594ceb1e0408.tar.bz2
FindTIFF: support version selection
-rw-r--r--Modules/FindTIFF.cmake13
1 files changed, 12 insertions, 1 deletions
diff --git a/Modules/FindTIFF.cmake b/Modules/FindTIFF.cmake
index 714f65f..16f9e23 100644
--- a/Modules/FindTIFF.cmake
+++ b/Modules/FindTIFF.cmake
@@ -25,10 +25,21 @@ FIND_PATH(TIFF_INCLUDE_DIR tiff.h)
SET(TIFF_NAMES ${TIFF_NAMES} tiff libtiff tiff3 libtiff3)
FIND_LIBRARY(TIFF_LIBRARY NAMES ${TIFF_NAMES} )
+IF(TIFF_INCLUDE_DIR AND EXISTS "${TIFF_INCLUDE_DIR}/tiffvers.h")
+ FILE(STRINGS "${TIFF_INCLUDE_DIR}/tiffvers.h" tiff_version_str
+ REGEX "^#define[\t ]+TIFFLIB_VERSION_STR[\t ]+\"LIBTIFF, Version .*")
+
+ STRING(REGEX REPLACE "^#define[\t ]+TIFFLIB_VERSION_STR[\t ]+\"LIBTIFF, Version +([^ \\n]*).*"
+ "\\1" TIFF_VERSION_STRING "${tiff_version_str}")
+ UNSET(tiff_version_str)
+ENDIF()
+
# handle the QUIETLY and REQUIRED arguments and set TIFF_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(TIFF DEFAULT_MSG TIFF_LIBRARY TIFF_INCLUDE_DIR)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TIFF
+ REQUIRED_VARS TIFF_LIBRARY TIFF_INCLUDE_DIR
+ VERSION_VAR TIFF_VERSION_STRING)
IF(TIFF_FOUND)
SET( TIFF_LIBRARIES ${TIFF_LIBRARY} )