2017-03-30 07:05:10 +03:00
|
|
|
# FindSQLite
|
|
|
|
# ----------
|
|
|
|
#
|
|
|
|
# Finds SQLite headers and libraries.
|
|
|
|
#
|
|
|
|
# SQLite_FOUND - True if SQLite is found.
|
|
|
|
# SQLite_INCLUDE_DIR - Path to SQLite header files.
|
|
|
|
# SQLite_LIBRARY - SQLite library to link to.
|
|
|
|
# SQLite_VERSION_STRING - The version of SQLite found.
|
|
|
|
|
|
|
|
# A simple fallback to pkg-config.
|
|
|
|
if(NOT WIN32)
|
|
|
|
find_package(PkgConfig QUIET)
|
|
|
|
pkg_search_module(PC_SQLITE QUIET sqlite3)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
find_path(SQLite_INCLUDE_DIR NAMES sqlite3.h
|
|
|
|
PATHS
|
|
|
|
${PC_SQLITE_INCLUDEDIR}
|
|
|
|
${PC_SQLITE_INCLUDE_DIRS}
|
|
|
|
)
|
|
|
|
|
|
|
|
find_library(SQLite_LIBRARY NAMES sqlite3
|
|
|
|
PATHS
|
|
|
|
${PC_SQLITE_LIBDIR}
|
|
|
|
${PC_SQLITE_LIBRARY_DIRS}
|
|
|
|
)
|
|
|
|
|
2017-11-12 19:53:19 +03:00
|
|
|
if(PC_SQLITE_VERSION)
|
|
|
|
set(SQLite_VERSION_STRING ${PC_SQLITE_VERSION})
|
|
|
|
elseif(SQLite_INCLUDE_DIR AND EXISTS "${SQLite_INCLUDE_DIR}/sqlite3.h")
|
|
|
|
# Parse sqlite3.h for the version macro:
|
|
|
|
# #define SQLITE_VERSION "3.20.1"
|
|
|
|
set(_SQLite_VERSION_REGEX "^#define[ \t]+SQLITE_VERSION[ \t]+\"([0-9]+)\\.([0-9]+)\\.([0-9]+)\".*$")
|
|
|
|
file(STRINGS "${SQLite_INCLUDE_DIR}/sqlite3.h" _SQLite_VERSION_MACRO LIMIT_COUNT 1 REGEX "${_SQLite_VERSION_REGEX}")
|
|
|
|
if(_SQLite_VERSION_MACRO)
|
|
|
|
string(REGEX REPLACE "${_SQLite_VERSION_REGEX}" "\\1.\\2.\\3" SQLite_VERSION_STRING "${_SQLite_VERSION_MACRO}")
|
|
|
|
endif()
|
|
|
|
unset(_SQLite_VERSION_MACRO)
|
|
|
|
unset(_SQLite_VERSION_REGEX)
|
|
|
|
endif()
|
2017-03-30 07:05:10 +03:00
|
|
|
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SQLite
|
|
|
|
REQUIRED_VARS SQLite_LIBRARY SQLite_INCLUDE_DIR
|
|
|
|
VERSION_VAR SQLite_VERSION_STRING
|
|
|
|
)
|
|
|
|
|
|
|
|
mark_as_advanced(SQLite_INCLUDE_DIR SQLite_LIBRARY)
|