Warning, /graphics/kphotoalbum/cmake/modules/FindQtAV.cmake is written in an unsupported language. File is not indexed.

0001 # - Try to find the QtAV library
0002 #
0003 # Once done this will define
0004 #
0005 #  QtAV_FOUND          - The system has libqtav
0006 #  QTAV_INCLUDE_DIRS   - The libqtav include directory
0007 #  QTAV_LIBRARIES      - Link these to use libqtav
0008 #  QTAV_MAJOR_VERSION  - The major value of QtAV version ID defined in QtAV/version.h as "1".
0009 #  QTAV_MINOR_VERSION  - The minor value of QtAV version ID defined in QtAV/version.h as "12".
0010 #  QTAV_PATCH_VERSION  - The patch value of QtAV version ID defined in QtAV/version.h as "0".
0011 #  QTAV_VERSION_STRING - Version string e.g. "1.12.0"
0012 #
0013 # SPDX-FileCopyrightText: 2016-2021 by Gilles Caulier <caulier dot gilles at gmail dot com>
0014 #
0015 # Redistribution and use is allowed according to the terms of the BSD license.
0016 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
0017 # SPDX-License-Identifier: BSD-3-Clause
0018 #
0019 
0020 find_package(Qt5
0021              QUIET REQUIRED NO_MODULE COMPONENTS
0022              Core
0023 )
0024 
0025 Message(STATUS "QtAV search path: ${_qt5_install_prefix}")
0026 
0027 if (NOT APPLE)
0028 
0029     find_path(QTAV_CORE_INCLUDE_DIR
0030               NAMES QtAV.h
0031               HINTS ${Qt5Core_INCLUDE_DIRS}
0032                     ${_qt5_install_prefix}                                                        # For MXE
0033                     ${_qt5_install_prefix}/../qt5/include                                         # For Mageia
0034                     ${_qt5_install_prefix}/../../include/qt5                                      # For Suse
0035                     ${_qt5_install_prefix}/../../../include/${CMAKE_LIBRARY_ARCHITECTURE}/qt5     # For Debian
0036                     ${_qt5_install_prefix}/../../include/qt                                       # For Arch
0037               PATH_SUFFIXES QtAV
0038     )
0039 
0040     find_path(QTAV_WIDGETS_INCLUDE_DIR
0041               NAMES QtAVWidgets.h
0042               HINTS ${Qt5Core_INCLUDE_DIRS}
0043                     ${_qt5_install_prefix}                                                        # For MXE
0044                     ${_qt5_install_prefix}/../qt5/include                                         # For Mageia
0045                     ${_qt5_install_prefix}/../../include/qt5                                      # For Suse
0046                     ${_qt5_install_prefix}/../../../include/${CMAKE_LIBRARY_ARCHITECTURE}/qt5     # For Debian
0047                     ${_qt5_install_prefix}/../../include/qt                                       # For Arch
0048               PATH_SUFFIXES QtAVWidgets
0049     )
0050 
0051     find_library(QTAV_CORE_LIBRARY
0052                  NAMES QtAV
0053                        QtAV1
0054                        libQtAV
0055                        libQtAV1
0056                  HINTS ${_qt5_install_prefix}/../
0057     )
0058 
0059     find_library(QTAV_WIDGETS_LIBRARY
0060                  NAMES QtAVWidgets
0061                        QtAVWidgets1
0062                        libQtAVWidgets
0063                        libQtAVWidgets1
0064                  HINTS ${_qt5_install_prefix}/../
0065     )
0066 
0067     set(QTAV_INCLUDE_DIRS "${QTAV_CORE_INCLUDE_DIR} ${QTAV_WIDGETS_INCLUDE_DIR}")
0068     set(QTAV_LIBRARIES     ${QTAV_CORE_LIBRARY} ${QTAV_WIDGETS_LIBRARY})
0069 
0070 else()
0071 
0072     find_path(QTAV_CORE_INCLUDE_DIR
0073               NAMES QtAV/QtAV.h
0074               HINTS ${_qt5_install_prefix}
0075                     ${_qt5_install_prefix}/../../include
0076               PATH_SUFFIXES QtAV
0077     )
0078 
0079     find_path(QTAV_WIDGETS_INCLUDE_DIR
0080               NAMES QtAVWidgets/QtAVWidgets.h
0081               HINTS ${_qt5_install_prefix}
0082                     ${_qt5_install_prefix}/../../include
0083               PATH_SUFFIXES QtAVWidgets
0084     )
0085 
0086     if (QTAV_CORE_INCLUDE_DIR AND QTAV_WIDGETS_INCLUDE_DIR)
0087 
0088         set(QTAV_INCLUDE_DIRS "${QTAV_CORE_INCLUDE_DIR};${QTAV_WIDGETS_INCLUDE_DIR}")
0089         set(QTAV_LIBRARIES    "${_qt5_install_prefix}/../QtAV.framework/QtAV;${_qt5_install_prefix}/../QtAVWidgets.framework/QtAVWidgets")
0090 
0091     else()
0092 
0093         set(QTAV_INCLUDE_DIRS "${_qt5_install_prefix}/../../include/QtAV;${_qt5_install_prefix}/../../include/QtAVWidgets")
0094         set(QTAV_LIBRARIES    "${_qt5_install_prefix}/../QtAV.framework/QtAV;${_qt5_install_prefix}/../QtAVWidgets.framework/QtAVWidgets")
0095 
0096     endif()
0097 
0098 endif()
0099 
0100 include(FindPackageHandleStandardArgs)
0101 find_package_handle_standard_args(QtAV REQUIRED_VARS QTAV_LIBRARIES QTAV_INCLUDE_DIRS)
0102 
0103 if(QtAV_FOUND)
0104 
0105     if(NOT APPLE)
0106 
0107         if(EXISTS ${QTAV_CORE_INCLUDE_DIR}/version.h)
0108 
0109             Message(STATUS "Found QtAV version header: ${QTAV_CORE_INCLUDE_DIR}/version.h")
0110             file(READ ${QTAV_CORE_INCLUDE_DIR}/version.h QTAV_VERSION_CONTENT)
0111             set(QtAV_VERSION_FOUND TRUE)
0112 
0113         endif()
0114 
0115     else()
0116 
0117         if(EXISTS ${QTAV_CORE_INCLUDE_DIR}/QtAV/version.h)
0118 
0119             Message(STATUS "Found QtAV version header: ${QTAV_CORE_INCLUDE_DIR}/QtAV/version.h")
0120             file(READ ${QTAV_CORE_INCLUDE_DIR}/QtAV/version.h QTAV_VERSION_CONTENT)
0121             set(QtAV_VERSION_FOUND TRUE)
0122 
0123         else()
0124 
0125             if(EXISTS ${QTAV_CORE_INCLUDE_DIR}/version.h)
0126 
0127                 Message(STATUS "Found QtAV version header: ${QTAV_CORE_INCLUDE_DIR}/version.h")
0128                 file(READ ${QTAV_CORE_INCLUDE_DIR}/version.h QTAV_VERSION_CONTENT)
0129                 set(QtAV_VERSION_FOUND TRUE)
0130 
0131             endif()
0132 
0133         endif()
0134 
0135     endif()
0136 
0137     if(QtAV_VERSION_FOUND)
0138 
0139         string(REGEX MATCH "#define QTAV_MAJOR ([0-9]+)" QTAV_MAJOR_MATCH ${QTAV_VERSION_CONTENT})
0140         string(REPLACE "#define QTAV_MAJOR " "" QTAV_MAJOR_VERSION ${QTAV_MAJOR_MATCH})
0141         string(REGEX MATCH "#define QTAV_MINOR ([0-9]+)" QTAV_MINOR_MATCH ${QTAV_VERSION_CONTENT})
0142         string(REPLACE "#define QTAV_MINOR " "" QTAV_MINOR_VERSION ${QTAV_MINOR_MATCH})
0143         string(REGEX MATCH "#define QTAV_PATCH ([0-9]+)" QTAV_PATCH_MATCH ${QTAV_VERSION_CONTENT})
0144         string(REPLACE "#define QTAV_PATCH " "" QTAV_PATCH_VERSION ${QTAV_PATCH_MATCH})
0145 
0146     endif()
0147 
0148     if(NOT QTAV_MAJOR_VERSION STREQUAL "" AND
0149        NOT QTAV_MINOR_VERSION STREQUAL "" AND
0150        NOT QTAV_PATCH_VERSION STREQUAL "")
0151 
0152             set(QTAV_VERSION_STRING "${QTAV_MAJOR_VERSION}.${QTAV_MINOR_VERSION}.${QTAV_PATCH_VERSION}")
0153 
0154             message(STATUS "Found QtAV version ${QTAV_VERSION_STRING}")
0155 
0156     else()
0157 
0158         message(STATUS "Found QtAV but failed to find version ${QTAV_LIBRARIES}")
0159         set(QTAV_MAJOR_VERSION NOTFOUND)
0160         set(QTAV_MINOR_VERSION NOTFOUND)
0161         set(QTAV_PATCH_VERSION NOTFOUND)
0162         set(QTAV_VERSION_STRING NOTFOUND)
0163 
0164     endif()
0165 
0166 endif()
0167 
0168 mark_as_advanced(QTAV_INCLUDE_DIRS QTAV_LIBRARIES QTAV_VERSION_STRING
0169                  QTAV_MAJOR_VERSION QTAV_MINOR_VERSION QTAV_PATCH_VERSION)
0170 
0171 message(STATUS "QtAV_FOUND       = ${QtAV_FOUND}")
0172 message(STATUS "QtAV_INCLUDE_DIR = ${QTAV_INCLUDE_DIRS}")
0173 message(STATUS "QtAV_LIBRARIES   = ${QTAV_LIBRARIES}")
0174 message(STATUS "QtAV_VERSION     = ${QTAV_VERSION_STRING}")