2009-09-23 19:40:25 +00:00
|
|
|
#
|
2009-09-10 07:04:54 +00:00
|
|
|
# - Find GeoIP
|
|
|
|
# Find the native GEOIP includes and library
|
|
|
|
#
|
|
|
|
# GEOIP_INCLUDE_DIRS - where to find GeoIP.h, etc.
|
|
|
|
# GEOIP_LIBRARIES - List of libraries when using GeoIP.
|
|
|
|
# GEOIP_FOUND - True if GeoIP found.
|
2015-01-12 22:44:42 +00:00
|
|
|
# GEOIP_DLL_DIR - (Windows) Path to the GeoIP DLL.
|
|
|
|
# GEOIP_DLL - (Windows) Name of the GeoIP DLL.
|
2009-09-10 07:04:54 +00:00
|
|
|
|
|
|
|
|
|
|
|
IF (GEOIP_INCLUDE_DIRS)
|
|
|
|
# Already in cache, be silent
|
|
|
|
SET(GEOIP_FIND_QUIETLY TRUE)
|
|
|
|
ENDIF (GEOIP_INCLUDE_DIRS)
|
|
|
|
|
2013-09-23 21:45:55 +00:00
|
|
|
INCLUDE(FindWSWinLibs)
|
|
|
|
FindWSWinLibs("GeoIP-.*" "GEOIP_HINTS")
|
2009-09-10 07:04:54 +00:00
|
|
|
|
2014-09-25 10:09:23 +00:00
|
|
|
find_package(PkgConfig)
|
|
|
|
pkg_search_module(GEOIP geoip)
|
|
|
|
|
|
|
|
FIND_PATH(GEOIP_INCLUDE_DIR GeoIP.h
|
|
|
|
HINTS
|
|
|
|
"${GEOIP_INCLUDEDIR}"
|
|
|
|
"${GEOIP_HINTS}/include"
|
|
|
|
)
|
2013-09-23 21:45:55 +00:00
|
|
|
|
|
|
|
SET(GEOIP_NAMES GeoIP libGeoIP-1)
|
2014-09-25 10:09:23 +00:00
|
|
|
FIND_LIBRARY(GEOIP_LIBRARY NAMES ${GEOIP_NAMES}
|
|
|
|
HINTS
|
|
|
|
"${GEOIP_LIBDIR}"
|
|
|
|
"${GEOIP_HINTS}/lib"
|
|
|
|
)
|
2009-09-10 07:04:54 +00:00
|
|
|
|
2014-09-25 10:09:23 +00:00
|
|
|
# handle the QUIETLY and REQUIRED arguments and set GEOIP_FOUND to TRUE if
|
2009-09-10 07:04:54 +00:00
|
|
|
# all listed variables are TRUE
|
|
|
|
INCLUDE(FindPackageHandleStandardArgs)
|
|
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GEOIP DEFAULT_MSG GEOIP_LIBRARY GEOIP_INCLUDE_DIR)
|
|
|
|
|
|
|
|
IF(GEOIP_FOUND)
|
2011-10-08 06:09:38 +00:00
|
|
|
SET(GEOIP_LIBRARIES ${GEOIP_LIBRARY} )
|
|
|
|
SET(GEOIP_INCLUDE_DIRS ${GEOIP_INCLUDE_DIR} )
|
|
|
|
INCLUDE(CheckFunctionExists)
|
|
|
|
SET(CMAKE_REQUIRED_INCLUDES ${GEOIP_INCLUDE_DIRS})
|
|
|
|
SET(CMAKE_REQUIRED_LIBRARIES ${GEOIP_LIBRARIES})
|
|
|
|
CHECK_FUNCTION_EXISTS("GeoIP_country_name_by_ipnum_v6" HAVE_GEOIP_V6)
|
|
|
|
SET(CMAKE_REQUIRED_INCLUDES "")
|
|
|
|
SET(CMAKE_REQUIRED_LIBRARIES "")
|
2015-01-12 22:44:42 +00:00
|
|
|
if (WIN32)
|
|
|
|
set ( GEOIP_DLL_DIR "${GEOIP_HINTS}/bin"
|
|
|
|
CACHE PATH "Path to the GeoIP DLL"
|
|
|
|
)
|
|
|
|
file( GLOB _geoip_dll RELATIVE "${GEOIP_DLL_DIR}"
|
|
|
|
"${GEOIP_DLL_DIR}/libGeoIP-*.dll"
|
|
|
|
)
|
|
|
|
set ( GEOIP_DLL ${_geoip_dll}
|
|
|
|
# We're storing filenames only. Should we use STRING instead?
|
|
|
|
CACHE FILEPATH "GeoIP DLL file name"
|
|
|
|
)
|
|
|
|
mark_as_advanced( GEOIP_DLL_DIR GEOIP_DLL )
|
|
|
|
endif()
|
2009-09-10 07:04:54 +00:00
|
|
|
ELSE(GEOIP_FOUND)
|
2011-10-08 06:09:38 +00:00
|
|
|
SET(GEOIP_LIBRARIES )
|
|
|
|
SET(GEOIP_INCLUDE_DIRS )
|
2015-01-12 22:44:42 +00:00
|
|
|
SET(GEOIP_DLL_DIR )
|
|
|
|
SET(GEOIP_DLL )
|
2009-09-10 07:04:54 +00:00
|
|
|
ENDIF(GEOIP_FOUND)
|
|
|
|
|
|
|
|
MARK_AS_ADVANCED( GEOIP_LIBRARIES GEOIP_INCLUDE_DIRS )
|