File: FindGlib.cmake

package info (click to toggle)
darktable 1.4.2-1%2Bdeb8u1
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 19,940 kB
  • ctags: 22,185
  • sloc: ansic: 181,925; cpp: 32,612; lisp: 4,681; xml: 4,046; sh: 2,002; makefile: 395; python: 315; perl: 114; awk: 110; asm: 46
file content (71 lines) | stat: -rw-r--r-- 2,248 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# - Try to find Glib-2.0
# Once done, this will define
#
#  Glib_FOUND - system has Glib
#  Glib_INCLUDE_DIRS - the Glib include directories
#  Glib_LIBRARIES - link these to use Glib

include(LibFindMacros)

# Use pkg-config to get hints about paths
libfind_pkg_check_modules(Glib_PKGCONF glib-2.0)

if(Glib_FIND_VERSION)
  cmake_minimum_required(VERSION 2.6.2)
  set(Glib_FAILED_VERSION_CHECK true)

  if(Glib_FIND_VERSION_EXACT)
    if(Glib_PKGCONF_VERSION VERSION_EQUAL Glib_FIND_VERSION)
      set(Glib_FAILED_VERSION_CHECK false)
    endif()
  else()
    if(Glib_PKGCONF_VERSION VERSION_EQUAL   Glib_FIND_VERSION OR
       Glib_PKGCONF_VERSION VERSION_GREATER Glib_FIND_VERSION)
      set(Glib_FAILED_VERSION_CHECK false)
    endif()
  endif()

  if(Glib_FAILED_VERSION_CHECK)
    if(Glib_FIND_REQUIRED AND NOT Glib_FIND_QUIETLY)
        if(Glib_FIND_VERSION_EXACT)
            message(FATAL_ERROR "Glib version check failed.  Version ${Glib_PKGCONF_VERSION} was found, version ${Glib_FIND_VERSION} is needed exactly.")
        else(Glib_FIND_VERSION_EXACT)
            message(FATAL_ERROR "Glib version check failed.  Version ${Glib_PKGCONF_VERSION} was found, at least version ${Glib_FIND_VERSION} is required")
        endif(Glib_FIND_VERSION_EXACT)
    endif(Glib_FIND_REQUIRED AND NOT Glib_FIND_QUIETLY)

    # If the version check fails, exit out of the module here
#     return()
  endif(Glib_FAILED_VERSION_CHECK)

endif(Glib_FIND_VERSION)


# Main include dir
find_path(Glib_INCLUDE_DIR
  NAMES glib.h
  HINTS ${Glib_PKGCONF_INCLUDE_DIRS}
  PATH_SUFFIXES glib-2.0
)

# Glib-related libraries also use a separate config header, which is in lib dir
find_path(GlibConfig_INCLUDE_DIR
  NAMES glibconfig.h
  HINTS ${Glib_PKGCONF_INCLUDE_DIRS}
  PATHS /usr
  PATH_SUFFIXES lib/glib-2.0/include ../lib/glib-2.0/include
)

# Finally the library itself
find_library(Glib_LIBRARY
  NAMES glib-2.0
  HINTS ${Glib_PKGCONF_LIBRARY_DIRS}
)

# Set the include dir variables and the libraries and let libfind_process do the rest.
# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
set(Glib_PROCESS_INCLUDES Glib_INCLUDE_DIR GlibConfig_INCLUDE_DIR)
set(Glib_PROCESS_LIBS Glib_LIBRARY)
libfind_process(Glib)