mirror of
https://invent.kde.org/graphics/okular
synced 2024-08-27 19:50:27 +00:00
68 lines
2.5 KiB
CMake
68 lines
2.5 KiB
CMake
# - Try to find the libspectre PS library
|
|
# Once done this will define
|
|
#
|
|
# LIBSPECTRE_FOUND - system has libspectre
|
|
# LIBSPECTRE_INCLUDE_DIR - the libspectre include directory
|
|
# LIBSPECTRE_LIBRARY - Link this to use libspectre
|
|
#
|
|
|
|
# Copyright (c) 2006-2007, Pino Toscano, <pino@kde.org>
|
|
# Copyright (c) 2008, Albert Astals Cid, <aacid@kde.org>
|
|
#
|
|
# Redistribution and use is allowed according to the terms of the BSD license.
|
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
|
|
if(LIBSPECTRE_INCLUDE_DIR AND LIBSPECTRE_LIBRARY)
|
|
|
|
# in cache already
|
|
set(LIBSPECTRE_INTERNAL_FOUND TRUE)
|
|
|
|
else(LIBSPECTRE_INCLUDE_DIR AND LIBSPECTRE_LIBRARY)
|
|
|
|
if(NOT WIN32)
|
|
# use pkg-config to get the directories and then use these values
|
|
# in the FIND_PATH() and FIND_LIBRARY() calls
|
|
INCLUDE(UsePkgConfig)
|
|
|
|
PKGCONFIG(libspectre _SpectreIncDir _SpectreLinkDir _SpectreLinkFlags _SpectreCflags)
|
|
|
|
if(_SpectreLinkFlags)
|
|
# find again pkg-config, to query it about libspectre version
|
|
FIND_PROGRAM(PKGCONFIG_EXECUTABLE NAMES pkg-config PATHS /usr/bin/ /usr/local/bin )
|
|
|
|
# query pkg-config asking for a libspectre >= LIBSPECTRE_MINIMUM_VERSION
|
|
EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS --atleast-version=${LIBSPECTRE_MINIMUM_VERSION} libspectre RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull )
|
|
if(_return_VALUE STREQUAL "0")
|
|
set(LIBSPECTRE_INTERNAL_FOUND TRUE)
|
|
endif(_return_VALUE STREQUAL "0")
|
|
endif(_SpectreLinkFlags)
|
|
else(NOT WIN32)
|
|
# do not use pkg-config on windows
|
|
find_library(_SpectreLinkFlags NAMES libspectre spectre PATHS ${CMAKE_LIBRARY_PATH})
|
|
|
|
find_path(LIBSPECTRE_INCLUDE_DIR spectre.h PATH_SUFFIXES libspectre )
|
|
|
|
set(LIBSPECTRE_INTERNAL_FOUND TRUE)
|
|
endif(NOT WIN32)
|
|
|
|
if (LIBSPECTRE_INTERNAL_FOUND)
|
|
set(LIBSPECTRE_LIBRARY ${_SpectreLinkFlags})
|
|
|
|
# the cflags for libspectre can contain more than one include path
|
|
separate_arguments(_SpectreCflags)
|
|
foreach(_includedir ${_SpectreCflags})
|
|
string(REGEX REPLACE "-I(.+)" "\\1" _includedir "${_includedir}")
|
|
set(LIBSPECTRE_INCLUDE_DIR ${LIBSPECTRE_INCLUDE_DIR} ${_includedir})
|
|
endforeach(_includedir)
|
|
|
|
endif (LIBSPECTRE_INTERNAL_FOUND)
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(LibSpectre DEFAULT_MSG LIBSPECTRE_LIBRARY LIBSPECTRE_INTERNAL_FOUND)
|
|
|
|
# ensure that they are cached
|
|
set(LIBSPECTRE_INCLUDE_DIR ${LIBSPECTRE_INCLUDE_DIR} CACHE INTERNAL "The libspectre include path")
|
|
set(LIBSPECTRE_LIBRARY ${LIBSPECTRE_LIBRARY} CACHE INTERNAL "The libspectre library")
|
|
|
|
endif(LIBSPECTRE_INCLUDE_DIR AND LIBSPECTRE_LIBRARY)
|