Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:wolfi323:branches:KDE:Frameworks5
kstars4
FindINDI.cmake
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File FindINDI.cmake of Package kstars4
# - Try to find INDI # Once done this will define # # INDI_FOUND - system has INDI # INDI_INCLUDE_DIR - the INDI include directory # For Android # INDI_CLIENT_ANDROID_LIBRARIES - Link to these for INDI Android client # For other platforms # INDI_LIBRARIES - Link to these for XML and INDI Common support (INDI < 1.4 only) # INDI_CLIENT_LIBRARIES - Link to these to build INDI clients # INDI_CLIENT_QT_LIBRARIES - Link to these to build INDI clients with Qt5 backend # INDI_CLIENT_ANDROID_LIBRARIES - Link to these to build INDI clients with Qt5 backend on Android # Copyright (c) 2012-2017, Jasem Mutlaq <mutlaqja@ikarustech.com> # Copyright (c) 2012, Pino Toscano <pino@kde.org> # Based on FindLibfacile by Carsten Niehaus, <cniehaus@gmx.de> # # Redistribution AND use is allowed according to the terms of the BSD license. macro(_INDI_check_version) file(READ "${INDI_INCLUDE_DIR}/indiapi.h" _INDI_version_header) string(REGEX MATCH "#define INDI_VERSION_MAJOR[ \t]+([0-9]+)" _INDI_version_major_match "${_INDI_version_header}") set(INDI_VERSION_MAJOR "${CMAKE_MATCH_1}") string(REGEX MATCH "#define INDI_VERSION_MINOR[ \t]+([0-9]+)" _INDI_version_minor_match "${_INDI_version_header}") set(INDI_VERSION_MINOR "${CMAKE_MATCH_1}") string(REGEX MATCH "#define INDI_VERSION_RELEASE[ \t]+([0-9]+)" _INDI_version_release_match "${_INDI_version_header}") set(INDI_VERSION_RELEASE "${CMAKE_MATCH_1}") set(INDI_VERSION ${INDI_VERSION_MAJOR}.${INDI_VERSION_MINOR}.${INDI_VERSION_RELEASE}) if(${INDI_VERSION} VERSION_LESS ${INDI_FIND_VERSION}) set(INDI_VERSION_OK FALSE) else(${INDI_VERSION} VERSION_LESS ${INDI_FIND_VERSION}) set(INDI_VERSION_OK TRUE) endif(${INDI_VERSION} VERSION_LESS ${INDI_FIND_VERSION}) if(NOT INDI_VERSION_OK) message(STATUS "INDI version ${INDI_VERSION} found in ${INDI_INCLUDE_DIR}, " "but at least version ${INDI_FIND_VERSION} is required") else(NOT INDI_VERSION_OK) mark_as_advanced(INDI_VERSION_MAJOR INDI_VERSION_MINOR INDI_VERSION_RELEASE) endif(NOT INDI_VERSION_OK) endmacro(_INDI_check_version) if(NOT INDI_FOUND) if (NOT WIN32 AND NOT ANDROID) find_package(PkgConfig) if (PKG_CONFIG_FOUND) pkg_check_modules(PC_INDI libindi) endif (PKG_CONFIG_FOUND) endif (NOT WIN32 AND NOT ANDROID) find_path(INDI_INCLUDE_DIR indidevapi.h PATH_SUFFIXES libindi ${PC_INDI_INCLUDE_DIRS} ${_obIncDir} ${GNUWIN32_DIR}/include ) if (INDI_INCLUDE_DIR) _INDI_check_version() if(ANDROID) find_library(INDI_CLIENT_ANDROID_LIBRARIES NAMES indiclientandroid PATHS ${BUILD_KSTARSLITE_DIR}/android_libs/${ANDROID_ARCHITECTURE}/ ) else(ANDROID) if (INDI_VERSION VERSION_LESS "1.4") find_library(INDI_LIBRARIES NAMES indi PATHS ${PC_INDI_LIBRARY_DIRS} ${_obLinkDir} ${GNUWIN32_DIR}/lib ) endif(INDI_VERSION VERSION_LESS "1.4") find_library(INDI_CLIENT_LIBRARIES NAMES indiclient PATHS ${PC_INDI_LIBRARY_DIRS} ${_obLinkDir} ${GNUWIN32_DIR}/lib ) find_library(INDI_CLIENT_QT_LIBRARIES NAMES indiclientqt PATHS ${PC_INDI_LIBRARY_DIRS} ${_obLinkDir} ${GNUWIN32_DIR}/lib ) endif(ANDROID) endif(INDI_INCLUDE_DIR) if(ANDROID) if(INDI_INCLUDE_DIR AND INDI_CLIENT_ANDROID_LIBRARIES) set(INDI_FOUND TRUE) else() set(INDI_FOUND FALSE) endif() else(ANDROID) if (INDI_INCLUDE_DIR AND (INDI_VERSION VERSION_GREATER "1.4" OR INDI_LIBRARIES) AND (INDI_CLIENT_LIBRARIES OR INDI_CLIENT_QT_LIBRARIES) AND INDI_VERSION_OK) # If INDI is found we need to make sure on WIN32 we have INDI Client Qt backend otherwise we can't use INDI if (WIN32) if (INDI_CLIENT_QT_LIBRARIES) set(INDI_FOUND TRUE) else(INDI_CLIENT_QT_LIBRARIES) set(INDI_FOUND FALSE) endif(INDI_CLIENT_QT_LIBRARIES) else (WIN32) set(INDI_FOUND TRUE) endif(WIN32) else(INDI_INCLUDE_DIR AND (INDI_VERSION VERSION_GREATER "1.4" OR INDI_LIBRARIES) AND (INDI_CLIENT_LIBRARIES OR INDI_CLIENT_QT_LIBRARIES) AND INDI_VERSION_OK) set(INDI_FOUND FALSE) endif(INDI_INCLUDE_DIR AND (INDI_VERSION VERSION_GREATER "1.4" OR INDI_LIBRARIES) AND (INDI_CLIENT_LIBRARIES OR INDI_CLIENT_QT_LIBRARIES) AND INDI_VERSION_OK) endif(ANDROID) if (INDI_FOUND) if (NOT INDI_FIND_QUIETLY) if(ANDROID) message(STATUS "Found INDI Android Client: ${INDI_CLIENT_ANDROID_LIBRARIES}") else(ANDROID) message(STATUS "Found INDI: ${INDI_LIBRARIES}, ${INDI_INCLUDE_DIR}") if (INDI_CLIENT_LIBRARIES) message(STATUS "Found INDI Client Library: ${INDI_CLIENT_LIBRARIES}") endif (INDI_CLIENT_LIBRARIES) if (INDI_CLIENT_QT_LIBRARIES) message(STATUS "Found INDI Qt5 Client Library: ${INDI_CLIENT_QT_LIBRARIES}") endif (INDI_CLIENT_QT_LIBRARIES) endif(ANDROID) endif (NOT INDI_FIND_QUIETLY) else (INDI_FOUND) if (INDI_FIND_REQUIRED) message(FATAL_ERROR "INDI not found. Please install INDI and try again.") endif (INDI_FIND_REQUIRED) endif (INDI_FOUND) if(ANDROID) mark_as_advanced(INDI_INCLUDE_DIR INDI_CLIENT_ANDROID_LIBRARIES) else(ANDROID) if (INDI_VERSION VERSION_LESS "1.4") mark_as_advanced(INDI_INCLUDE_DIR INDI_LIBRARIES INDI_CLIENT_LIBRARIES INDI_CLIENT_QT_LIBRARIES) else(INDI_VERSION VERSION_LESS "1.4") mark_as_advanced(INDI_INCLUDE_DIR INDI_CLIENT_LIBRARIES INDI_CLIENT_QT_LIBRARIES) endif(INDI_VERSION VERSION_LESS "1.4") endif(ANDROID) endif(NOT INDI_FOUND) if (INDI_INCLUDE_DIR) # in cache already _INDI_check_version() if(ANDROID) if(INDI_CLIENT_ANDROID_LIBRARIES) set(INDI_FOUND ${INDI_VERSION_OK}) message(STATUS "Found INDI: ${INDI_CLIENT_ANDROID_LIBRARIES}") endif(INDI_CLIENT_ANDROID_LIBRARIES) else(ANDROID) if (INDI_VERSION VERSION_LESS "1.4" AND INDI_LIBRARIES AND (INDI_CLIENT_LIBRARIES OR INDI_CLIENT_QT_LIBRARIES)) set(INDI_FOUND ${INDI_VERSION_OK}) message(STATUS "Found INDI: ${INDI_LIBRARIES}, ${INDI_CLIENT_LIBRARIES}, ${INDI_INCLUDE_DIR}") elseif (INDI_CLIENT_LIBRARIES OR INDI_CLIENT_QT_LIBRARIES) set(INDI_FOUND ${INDI_VERSION_OK}) message(STATUS "Found INDI: ${INDI_CLIENT_LIBRARIES}, ${INDI_INCLUDE_DIR}") endif(INDI_VERSION VERSION_LESS "1.4" AND INDI_LIBRARIES AND (INDI_CLIENT_LIBRARIES OR INDI_CLIENT_QT_LIBRARIES)) endif(ANDROID) endif(INDI_INCLUDE_DIR)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor