aboutsummaryrefslogtreecommitdiff
path: root/modules/FindTaglib.cmake
blob: 7b5ffc39be44ce58c83b33e0e61605d24452e5c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# - Try to find the Taglib library
# Once done this will define
#
#  TAGLIB_FOUND - system has the taglib library
#  TAGLIB_CFLAGS - the taglib cflags
#  TAGLIB_LIBRARIES - The libraries needed to use taglib
#
# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.

include(FindLibraryEx)

IF(NOT WIN32)
    FIND_PROGRAM(TAGLIBCONFIG_EXECUTABLE NAMES taglib-config PATHS
       /usr/bin
       /usr/local/bin
       ${BIN_INSTALL_DIR}
    )
ENDIF(NOT WIN32)
#reset vars
set(TAGLIB_LIBRARIES)
set(TAGLIB_CFLAGS)

# if taglib-config has been found
IF(TAGLIBCONFIG_EXECUTABLE)

  EXEC_PROGRAM(${TAGLIBCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_LIBRARIES)

  EXEC_PROGRAM(${TAGLIBCONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE TAGLIB_CFLAGS)

  IF(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)
    SET(TAGLIB_FOUND TRUE)
    message(STATUS "Found taglib: ${TAGLIB_LIBRARIES}")
  ENDIF(TAGLIB_LIBRARIES AND TAGLIB_CFLAGS)

  MARK_AS_ADVANCED(TAGLIB_CFLAGS TAGLIB_LIBRARIES)
ELSE(TAGLIBCONFIG_EXECUTABLE)
  find_path(TAGLIB_INCLUDES
    NAMES
    tag.h
    PATH_SUFFIXES taglib
    PATHS
    ${KDE4_INCLUDE_DIR}
    ${INCLUDE_INSTALL_DIR}
  )

  FIND_LIBRARY_EX(TAGLIB_LIBRARIES
    WIN32_DEBUG_POSTFIX d
    NAMES tag
    PATHS
    ${KDE4_LIB_DIR}
    ${LIB_INSTALL_DIR}
  )
  
  INCLUDE(FindPackageHandleStandardArgs)
  find_package_handle_standard_args(Taglib DEFAULT_MSG 
                                    TAGLIB_INCLUDES TAGLIB_LIBRARIES)
ENDIF(TAGLIBCONFIG_EXECUTABLE)


if(TAGLIB_FOUND)
  IF(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE)
    MESSAGE(STATUS "Taglib found: ${TAGLIB_LIBRARIES}")
  ENDIF(NOT Taglib_FIND_QUIETLY AND TAGLIBCONFIG_EXECUTABLE)
ELSE(TAGLIB_FOUND)
  IF(Taglib_FIND_REQUIRED)
    MESSAGE(FATAL_ERROR "Could not find Taglib")
  ENDIF(Taglib_FIND_REQUIRED)
endif(TAGLIB_FOUND)