File: FindLibGeoIP.cmake

package info (click to toggle)
broccoli-python 0.61%2B1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 456 kB
  • sloc: python: 407; sh: 200; makefile: 21
file content (68 lines) | stat: -rw-r--r-- 2,052 bytes parent folder | download | duplicates (12)
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
# - Try to find GeoIP headers and libraries
#
# Usage of this module as follows:
#
#     find_package(LibGeoIP)
#
# Variables used by this module, they can change the default behaviour and need
# to be set before calling find_package:
#
#  LibGeoIP_ROOT_DIR         Set this variable to the root installation of
#                            libGeoIP if the module has problems finding the
#                            proper installation path.
#
# Variables defined by this module:
#
#  LIBGEOIP_FOUND                   System has GeoIP libraries and headers
#  LibGeoIP_LIBRARY                 The GeoIP library
#  LibGeoIP_INCLUDE_DIR             The location of GeoIP headers
#  HAVE_GEOIP_COUNTRY_EDITION_V6    Whether the API support IPv6 country edition
#  HAVE_GEOIP_CITY_EDITION_REV0_V6  Whether the API supports IPv6 city edition

find_path(LibGeoIP_ROOT_DIR
    NAMES include/GeoIPCity.h
)

if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
    # the static version of the library is preferred on OS X for the
    # purposes of making packages (libGeoIP doesn't ship w/ OS X)
    set(libgeoip_names libGeoIp.a GeoIP)
else ()
    set(libgeoip_names GeoIP)
endif ()

find_library(LibGeoIP_LIBRARY
    NAMES ${libgeoip_names}
    HINTS ${LibGeoIP_ROOT_DIR}/lib
)

find_path(LibGeoIP_INCLUDE_DIR
    NAMES GeoIPCity.h
    HINTS ${LibGeoIP_ROOT_DIR}/include
)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LibGeoIP DEFAULT_MSG
    LibGeoIP_LIBRARY
    LibGeoIP_INCLUDE_DIR
)

if (LIBGEOIP_FOUND)
    include(CheckCXXSourceCompiles)
    set(CMAKE_REQUIRED_INCLUDES ${LibGeoIP_INCLUDE_DIR})
    check_cxx_source_compiles("
    #include <GeoIPCity.h>
    int main() { GEOIP_COUNTRY_EDITION_V6; return 0; }
    " HAVE_GEOIP_COUNTRY_EDITION_V6)
    check_cxx_source_compiles("
    #include <GeoIPCity.h>
    int main() { GEOIP_CITY_EDITION_REV0_V6; return 0; }
    " HAVE_GEOIP_CITY_EDITION_REV0_V6)
    set(CMAKE_REQUIRED_INCLUDES)
endif ()

mark_as_advanced(
    LibGeoIP_ROOT_DIR
    LibGeoIP_LIBRARY
    LibGeoIP_INCLUDE_DIR
)