Warning, /frameworks/extra-cmake-modules/find-modules/FindTaglib.cmake is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2006 Laurent Montel <montel@kde.org> 0002 # SPDX-FileCopyrightText: 2019 Heiko Becker <heirecka@exherbo.org> 0003 # SPDX-FileCopyrightText: 2020 Elvis Angelaccio <elvis.angelaccio@kde.org> 0004 # 0005 # SPDX-License-Identifier: BSD-3-Clause 0006 0007 #[=======================================================================[.rst: 0008 FindTaglib 0009 ---------- 0010 0011 Try to find the Taglib library. 0012 0013 This will define the following variables: 0014 0015 ``Taglib_FOUND`` 0016 True if the system has the taglib library of at least the minimum 0017 version specified by the version parameter to find_package() 0018 ``Taglib_INCLUDE_DIRS`` 0019 The taglib include dirs for use with target_include_directories 0020 ``Taglib_LIBRARIES`` 0021 The taglib libraries for use with target_link_libraries() 0022 ``Taglib_VERSION`` 0023 The version of taglib that was found 0024 0025 If ``Taglib_FOUND`` is TRUE, it will also define the following imported 0026 target: 0027 0028 ``Taglib::Taglib`` 0029 The Taglib library 0030 0031 Since 5.72.0 0032 #]=======================================================================] 0033 0034 find_package(PkgConfig QUIET) 0035 0036 pkg_check_modules(PC_TAGLIB QUIET taglib) 0037 0038 find_path(Taglib_INCLUDE_DIRS 0039 NAMES tag.h 0040 PATH_SUFFIXES taglib 0041 HINTS ${PC_TAGLIB_INCLUDEDIR} 0042 ) 0043 0044 find_library(Taglib_LIBRARIES 0045 NAMES tag 0046 HINTS ${PC_TAGLIB_LIBDIR} 0047 ) 0048 0049 set(Taglib_VERSION ${PC_TAGLIB_VERSION}) 0050 0051 if (Taglib_INCLUDE_DIRS AND NOT Taglib_VERSION) 0052 if(EXISTS "${Taglib_INCLUDE_DIRS}/taglib.h") 0053 file(READ "${Taglib_INCLUDE_DIRS}/taglib.h" TAGLIB_H) 0054 0055 string(REGEX MATCH "#define TAGLIB_MAJOR_VERSION[ ]+[0-9]+" TAGLIB_MAJOR_VERSION_MATCH ${TAGLIB_H}) 0056 string(REGEX MATCH "#define TAGLIB_MINOR_VERSION[ ]+[0-9]+" TAGLIB_MINOR_VERSION_MATCH ${TAGLIB_H}) 0057 string(REGEX MATCH "#define TAGLIB_PATCH_VERSION[ ]+[0-9]+" TAGLIB_PATCH_VERSION_MATCH ${TAGLIB_H}) 0058 0059 string(REGEX REPLACE ".*_MAJOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MAJOR_VERSION "${TAGLIB_MAJOR_VERSION_MATCH}") 0060 string(REGEX REPLACE ".*_MINOR_VERSION[ ]+(.*)" "\\1" TAGLIB_MINOR_VERSION "${TAGLIB_MINOR_VERSION_MATCH}") 0061 string(REGEX REPLACE ".*_PATCH_VERSION[ ]+(.*)" "\\1" TAGLIB_PATCH_VERSION "${TAGLIB_PATCH_VERSION_MATCH}") 0062 0063 set(Taglib_VERSION "${TAGLIB_MAJOR_VERSION}.${TAGLIB_MINOR_VERSION}.${TAGLIB_PATCH_VERSION}") 0064 endif() 0065 endif() 0066 0067 include(FindPackageHandleStandardArgs) 0068 find_package_handle_standard_args(Taglib 0069 FOUND_VAR 0070 Taglib_FOUND 0071 REQUIRED_VARS 0072 Taglib_LIBRARIES 0073 Taglib_INCLUDE_DIRS 0074 VERSION_VAR 0075 Taglib_VERSION 0076 ) 0077 0078 if (Taglib_FOUND AND NOT TARGET Taglib::Taglib) 0079 add_library(Taglib::Taglib UNKNOWN IMPORTED) 0080 set_target_properties(Taglib::Taglib PROPERTIES 0081 IMPORTED_LOCATION "${Taglib_LIBRARIES}" 0082 INTERFACE_INCLUDE_DIRECTORIES "${Taglib_INCLUDE_DIRS}" 0083 ) 0084 endif() 0085 0086 mark_as_advanced(Taglib_LIBRARIES Taglib_INCLUDE_DIRS) 0087 0088 include(FeatureSummary) 0089 set_package_properties(Taglib PROPERTIES 0090 URL "https://taglib.org/" 0091 DESCRIPTION "A library for reading and editing the meta-data of audio formats" 0092 )