diff options
| author | Laurent Montel <montel@kde.org> | 2007-06-11 15:50:13 +0000 | 
|---|---|---|
| committer | Laurent Montel <montel@kde.org> | 2007-06-11 15:50:13 +0000 | 
| commit | ed1c174157fc39738f8d5d7a2a5d8a10e33e95d5 (patch) | |
| tree | f90cd0a4778adf526da9a4ced4b5fa087ce96811 /modules | |
| parent | 46aa763e481365e55fe052b1028bf2f6d6e76918 (diff) | |
| download | extra-cmake-modules-ed1c174157fc39738f8d5d7a2a5d8a10e33e95d5.tar.gz extra-cmake-modules-ed1c174157fc39738f8d5d7a2a5d8a10e33e95d5.tar.bz2  | |
Needs by kdegraphics and extragear/libs
svn path=/trunk/KDE/kdelibs/; revision=674037
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/FindExiv2.cmake | 82 | 
1 files changed, 82 insertions, 0 deletions
diff --git a/modules/FindExiv2.cmake b/modules/FindExiv2.cmake new file mode 100644 index 00000000..bca87294 --- /dev/null +++ b/modules/FindExiv2.cmake @@ -0,0 +1,82 @@ +# - Try to find the Exiv2 library +# Once done this will define +# +#  EXIV2_FOUND - system has libexiv2 +#  EXIV2_INCLUDE_DIR - the libexiv2 include directory +#  EXIV2_LIBRARIES - Link these to use libexiv2 +#  EXIV2_DEFINITIONS - Compiler switches required for using libexiv2 +# + +if (EXIV2_INCLUDE_DIR AND EXIV2_LIBRARIES) + +  # in cache already +  SET(EXIV2_FOUND TRUE) + +else (EXIV2_INCLUDE_DIR AND EXIV2_LIBRARIES) +  if (NOT WIN32) +  # use pkg-config to get the directories and then use these values +  # in the FIND_PATH() and FIND_LIBRARY() calls +  INCLUDE(UsePkgConfig) +   +  PKGCONFIG(exiv2 _EXIV2IncDir _EXIV2LinkDir _EXIV2LinkFlags _EXIV2Cflags) + +  if(_EXIV2LinkFlags) +    # query pkg-config asking for a Exiv2 >= 0.12 +    EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS --atleast-version=0.12 exiv2 RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull ) +    if(_return_VALUE STREQUAL "0") +      message(STATUS "Found Exiv2 release >= 0.12") +      set(EXIV2_VERSION_GOOD_FOUND TRUE) +    else(_return_VALUE STREQUAL "0") +      message(FATAL_ERROR "Found Exiv2 release < 0.12") +    endif(_return_VALUE STREQUAL "0") +  else(_EXIV2LinkFlags) +      set(EXIV2_FOUND FALSE) +      set(EXIV2_VERSION_GOOD_FOUND FALSE) +      message(FATAL_ERROR "Cannot find Exiv2 library!") +  endif(_EXIV2LinkFlags) +   +  else(NOT WIN32) +     #Better check +     set(EXIV2_VERSION_GOOD_FOUND TRUE) +  endif (NOT WIN32) + +  if(EXIV2_VERSION_GOOD_FOUND) +     set(EXIV2_DEFINITIONS ${_EXIV2Cflags}) +  +     FIND_PATH(EXIV2_INCLUDE_DIR exiv2/exif.hpp +       ${_EXIV2IncDir} +       /usr/include +       /usr/local/include +     ) +   +     FIND_LIBRARY(EXIV2_LIBRARIES NAMES exiv2 libexiv2 +       PATHS +       ${_EXIV2LinkDir} +       /usr/lib +       /usr/local/lib +     ) +   +     if (EXIV2_INCLUDE_DIR AND EXIV2_LIBRARIES) +        set(EXIV2_FOUND TRUE) +     endif (EXIV2_INCLUDE_DIR AND EXIV2_LIBRARIES) +   +     if (EXIV2_FOUND) +        if (NOT Exiv2_FIND_QUIETLY) +         message(STATUS "Found Exiv2: ${EXIV2_LIBRARIES}") +        endif (NOT Exiv2_FIND_QUIETLY) +     else (EXIV2_FOUND) +       if (Exiv2_FIND_REQUIRED) +         if (NOT EXIV2_INCLUDE_DIR) +           message(FATAL_ERROR "Could NOT find Exiv2 header files") +         endif (NOT EXIV2_INCLUDE_DIR) +         if (NOT EXIV2_LIBRARIES) +           message(FATAL_ERROR "Could NOT find Exiv2 library") +         endif (NOT EXIV2_LIBRARIES) +       endif (Exiv2_FIND_REQUIRED) +     endif (EXIV2_FOUND) +  endif(EXIV2_VERSION_GOOD_FOUND) + +  MARK_AS_ADVANCED(EXIV2_INCLUDE_DIR EXIV2_LIBRARIES) +   +endif (EXIV2_INCLUDE_DIR AND EXIV2_LIBRARIES) +  | 
