Warning, /network/kio-extras/cmake/FindLibmtp.cmake is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: 2014 Jan Grulich <jgrulich@redhat.com>
0002 # SPDX-FileCopyrightText: 2021 Friedrich W. H. Kossebau <kossebau@kde.org>
0003 #
0004 # SPDX-License-Identifier: BSD-3-Clause
0005 
0006 #[=======================================================================[.rst:
0007 FindLibmtp
0008 ----------
0009 
0010 Try to find the libmtp library.
0011 
0012 This will define the following variables:
0013 
0014 ``Libmtp_FOUND``
0015     TRUE if (the requested version of) libmtp is available
0016 ``Libmtp_VERSION``
0017     The version of libmtp
0018 ``Libmtp_LIBRARIES``
0019     The libraries of libmtp for use with target_link_libraries()
0020 ``Libmtp_INCLUDE_DIRS``
0021     The include dirs of libmtp for use with target_include_directories()
0022 ``Libmtp_DEFINITIONS``
0023     Compiler switches required for using libmtp
0024 
0025 If ``Libmtp_FOUND`` is TRUE, it will also define the following imported
0026 target:
0027 
0028 ``Libmtp::Libmtp``
0029     The libmtp library
0030 #]=======================================================================]
0031 
0032 find_package(PkgConfig QUIET)
0033 pkg_check_modules(PC_Libmtp PC_MTP QUIET libmtp>=${Libmtp_FIND_VERSION})
0034 
0035 find_library(Libmtp_LIBRARIES
0036     NAMES mtp
0037     HINTS ${PC_Libmtp_LIBRARY_DIRS}
0038 )
0039 
0040 find_path(Libmtp_INCLUDE_DIRS
0041     NAMES libmtp.h
0042     HINTS ${PC_Libmtp_INCLUDE_DIRS}
0043 )
0044 
0045 set(Libmtp_VERSION ${PC_Libmtp_VERSION})
0046 set(Libmtp_DEFINITIONS ${PC_Libmtp_CFLAGS})
0047 
0048 include(FindPackageHandleStandardArgs)
0049 find_package_handle_standard_args(Libmtp
0050     FOUND_VAR
0051         Libmtp_FOUND
0052     REQUIRED_VARS
0053         Libmtp_LIBRARIES
0054         Libmtp_INCLUDE_DIRS
0055     VERSION_VAR
0056         Libmtp_VERSION
0057 )
0058 
0059 if(Libmtp_FOUND AND NOT TARGET Libmtp::Libmtp)
0060     add_library(Libmtp::Libmtp UNKNOWN IMPORTED)
0061     set_target_properties(Libmtp::Libmtp PROPERTIES
0062         IMPORTED_LOCATION "${Libmtp_LIBRARIES}"
0063         INTERFACE_COMPILE_OPTIONS "${Libmtp_DEFINITIONS}"
0064         INTERFACE_INCLUDE_DIRECTORIES "${Libmtp_INCLUDE_DIRS}"
0065     )
0066 endif()
0067 
0068 mark_as_advanced(Libmtp_LIBRARIES Libmtp_INCLUDE_DIRS Libmtp_VERSION Libmtp_DEFINITIONS)
0069 
0070 include(FeatureSummary)
0071 set_package_properties(Libmtp PROPERTIES
0072     DESCRIPTION "libmtp, an Initiator implementation of the Media Transfer Protocol (MTP)"
0073     URL "http://libmtp.sourceforge.net/"
0074 )