Warning, /multimedia/amarok/cmake/modules/FindTaglib-Extras.cmake is written in an unsupported language. File is not indexed.

0001 # - Try to find the Taglib-Extras library
0002 # Once done this will define
0003 #
0004 #  TAGLIB-EXTRAS_FOUND - system has the taglib library
0005 #  TAGLIB-EXTRAS_CFLAGS - the taglib cflags
0006 #  TAGLIB-EXTRAS_LIBRARIES - The libraries needed to use taglib
0007 
0008 # Copyright (c) 2006, Laurent Montel, <montel@kde.org>
0009 #
0010 # Redistribution and use is allowed according to the terms of the BSD license.
0011 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
0012 
0013 if(NOT TAGLIB-EXTRAS_MIN_VERSION)
0014   set(TAGLIB-EXTRAS_MIN_VERSION "1.0")
0015 endif()
0016 
0017 if(NOT WIN32)
0018     find_program(TAGLIB-EXTRASCONFIG_EXECUTABLE NAMES taglib-extras-config PATHS
0019        ${BIN_INSTALL_DIR}
0020     )
0021 endif()
0022 
0023 #reset vars
0024 set(TAGLIB-EXTRAS_LIBRARIES)
0025 set(TAGLIB-EXTRAS_CFLAGS)
0026 
0027 # if taglib-extras-config has been found
0028 if(TAGLIB-EXTRASCONFIG_EXECUTABLE)
0029 
0030   exec_program(${TAGLIB-EXTRASCONFIG_EXECUTABLE} ARGS --version RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB-EXTRAS_VERSION)
0031 
0032   if(TAGLIB-EXTRAS_VERSION VERSION_LESS "${TAGLIB-EXTRAS_MIN_VERSION}")
0033      message(STATUS "TagLib-Extras version too old: version searched :${TAGLIB-EXTRAS_MIN_VERSION}, found ${TAGLIB-EXTRAS_VERSION}")
0034      set(TAGLIB-EXTRAS_FOUND FALSE)
0035   else()
0036 
0037      exec_program(${TAGLIB-EXTRASCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB-EXTRAS_LIBRARIES)
0038 
0039      exec_program(${TAGLIB-EXTRASCONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB-EXTRAS_CFLAGS)
0040 
0041      if(TAGLIB-EXTRAS_LIBRARIES AND TAGLIB-EXTRAS_CFLAGS)
0042         set(TAGLIB-EXTRAS_FOUND TRUE)
0043      endif()
0044      string(REGEX REPLACE " *-I" ";" TAGLIB-EXTRAS_INCLUDES "${TAGLIB-EXTRAS_CFLAGS}")
0045   endif() 
0046   mark_as_advanced(TAGLIB-EXTRAS_CFLAGS TAGLIB-EXTRAS_LIBRARIES TAGLIB-EXTRAS_INCLUDES)
0047 
0048 else()
0049 
0050   find_path(TAGLIB-EXTRAS_INCLUDES
0051     NAMES
0052     tfile_helper.h
0053     PATH_SUFFIXES taglib-extras
0054     PATHS
0055     ${INCLUDE_INSTALL_DIR}
0056   )
0057 
0058     if(NOT WIN32)
0059       # on non-win32 we don't need to take care about WIN32_DEBUG_POSTFIX
0060 
0061       find_library(TAGLIB-EXTRAS_LIBRARIES tag-extras PATHS ${LIB_INSTALL_DIR})
0062 
0063     else()
0064 
0065       # 1. get all possible libnames
0066       set(args PATHS ${LIB_INSTALL_DIR})
0067       set(newargs "")               
0068       set(libnames_release "")      
0069       set(libnames_debug "")        
0070 
0071       list(LENGTH args listCount)
0072 
0073         # just one name
0074         list(APPEND libnames_release "tag-extras")
0075         list(APPEND libnames_debug   "tag-extrasd")
0076 
0077         set(newargs ${args})
0078 
0079       # search the release lib
0080       find_library(TAGLIB-EXTRAS_LIBRARIES_RELEASE
0081                    NAMES ${libnames_release}
0082                    ${newargs}
0083       )
0084 
0085       # search the debug lib
0086       find_library(TAGLIB-EXTRAS_LIBRARIES_DEBUG
0087                    NAMES ${libnames_debug}
0088                    ${newargs}
0089       )
0090 
0091       if(TAGLIB-EXTRAS_LIBRARIES_RELEASE AND TAGLIB-EXTRAS_LIBRARIES_DEBUG)
0092 
0093         # both libs found
0094         set(TAGLIB-EXTRAS_LIBRARIES optimized ${TAGLIB-EXTRAS_LIBRARIES_RELEASE}
0095                         debug     ${TAGLIB-EXTRAS_LIBRARIES_DEBUG})
0096 
0097       else()
0098 
0099         if(TAGLIB-EXTRAS_LIBRARIES_RELEASE)
0100 
0101           # only release found
0102           set(TAGLIB-EXTRAS_LIBRARIES ${TAGLIB-EXTRAS_LIBRARIES_RELEASE})
0103 
0104         else()
0105 
0106           # only debug (or nothing) found
0107           set(TAGLIB-EXTRAS_LIBRARIES ${TAGLIB-EXTRAS_LIBRARIES_DEBUG})
0108 
0109         endif()
0110 
0111       endif()
0112 
0113       mark_as_advanced(TAGLIB-EXTRAS_LIBRARIES_RELEASE)
0114       mark_as_advanced(TAGLIB-EXTRAS_LIBRARIES_DEBUG)
0115 
0116     endif()
0117   
0118   include(FindPackageMessage)
0119   include(FindPackageHandleStandardArgs)
0120   find_package_handle_standard_args(Taglib-Extras DEFAULT_MSG TAGLIB-EXTRAS_INCLUDES TAGLIB-EXTRAS_LIBRARIES)
0121 
0122 endif()
0123 
0124 
0125 if(TAGLIB-EXTRAS_FOUND)
0126   if(NOT Taglib-Extras_FIND_QUIETLY AND TAGLIB-EXTRASCONFIG_EXECUTABLE)
0127     message(STATUS "Taglib-Extras found: ${TAGLIB-EXTRAS_LIBRARIES}")
0128   endif()
0129 else()
0130   if(Taglib-Extras_FIND_REQUIRED)
0131     message(FATAL_ERROR "Could not find Taglib-Extras")
0132   endif()
0133 endif()
0134