Warning, /graphics/kamera/FindGphoto2.cmake is written in an unsupported language. File is not indexed.
0001 # cmake macro to detect gphoto2 libraries
0002 # GPHOTO2_FOUND - system has the GPHOTO2 library
0003 # GPHOTO2_INCLUDE_DIR - the GPHOTO2 include directory
0004 # GPHOTO2_LIBRARIES - The libraries needed to use GPHOTO2
0005
0006 # SPDX-FileCopyrightText: 2006, 2007 Laurent Montel <montel@kde.org>
0007 #
0008 # SPDX-License-Identifier: BSD-3-Clause
0009
0010 if(GPHOTO2_LIBRARIES AND GPHOTO2_INCLUDE_DIR)
0011
0012 # in cache already
0013 set(GPHOTO2_FOUND TRUE)
0014
0015 else()
0016
0017 find_program(GHOTO2CONFIG_EXECUTABLE NAMES gphoto2-config)
0018 find_program(GHOTO2PORTCONFIG_EXECUTABLE NAMES gphoto2-port-config)
0019
0020 set(GPHOTO2_LIBRARIES)
0021 set(GPHOTO2_INCLUDE_DIRS)
0022
0023 # if gphoto2-port-config and gphoto2-config have been found
0024 if(GHOTO2PORTCONFIG_EXECUTABLE AND GHOTO2CONFIG_EXECUTABLE)
0025
0026 exec_program(${GHOTO2PORTCONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GPHOTO2PORT_LIBRARY)
0027 exec_program(${GHOTO2CONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GPHOTO2_LIBRARY)
0028 exec_program(${GHOTO2PORTCONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _GPHOTO2PORT_RESULT_INCLUDE_DIR)
0029 exec_program(${GHOTO2CONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _GPHOTO2_RESULT_INCLUDE_DIR)
0030
0031 set(GPHOTO2_LIBRARIES ${GPHOTO2PORT_LIBRARY} ${GPHOTO2_LIBRARY})
0032
0033 # the cflags can contain more than one include path
0034 separate_arguments(_GPHOTO2_RESULT_INCLUDE_DIR)
0035
0036 foreach(_includedir ${_GPHOTO2_RESULT_INCLUDE_DIR})
0037 string(REGEX REPLACE "-I(.+)" "\\1" _includedir "${_includedir}")
0038 set(GPHOTO2_INCLUDE_DIR ${GPHOTO2_INCLUDE_DIR} ${_includedir})
0039 endforeach()
0040
0041 separate_arguments(_GPHOTO2PORT_RESULT_INCLUDE_DIR)
0042
0043 foreach(_includedir ${_GPHOTO2PORT_RESULT_INCLUDE_DIR})
0044 string(REGEX REPLACE "-I(.+)" "\\1" _includedir "${_includedir}")
0045 set(GPHOTO2PORT_INCLUDE_DIR ${GPHOTO2PORT_INCLUDE_DIR} ${_includedir})
0046 endforeach()
0047
0048 set(GPHOTO2_INCLUDE_DIRS ${GPHOTO2PORT_INCLUDE_DIR} ${GPHOTO2_INCLUDE_DIR} )
0049
0050 endif()
0051
0052 if(GPHOTO2_LIBRARIES AND GPHOTO2_INCLUDE_DIRS)
0053 set(GPHOTO2_FOUND TRUE)
0054 message(STATUS "Found gphoto2: ${GPHOTO2_LIBRARIES}")
0055 else()
0056 pkg_check_modules(GPHOTO2 QUIET libgphoto2)
0057 if(GPHOTO2_LIBRARIES AND GPHOTO2_INCLUDE_DIRS)
0058 message(STATUS "Found gphoto2: ${GPHOTO2_LIBRARIES}")
0059 endif()
0060 endif()
0061
0062 endif()
0063
0064 mark_as_advanced(GPHOTO2_LIBRARIES GPHOTO2_INCLUDE_DIRS)