1 # - Try to find Sqlite3
2 # Once done this will define
4 # SQLITE3_FOUND - system has Sqlite3
5 # SQLITE3_INCLUDE_DIRS - the Sqlite3 include directory
6 # SQLITE3_LIBRARIES - Link these to use Sqlite3
7 # SQLITE3_DEFINITIONS - Compiler switches required for using Sqlite3
9 # Copyright (c) 2008 Andreas Schneider <mail@cynapses.org>
11 # Redistribution and use is allowed according to the terms of the New
13 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
17 if (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS)
19 set(SQLITE3_FOUND TRUE)
20 else (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS)
21 # use pkg-config to get the directories and then use these values
22 # in the FIND_PATH() and FIND_LIBRARY() calls
23 if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
25 pkgconfig(sqlite3 _SQLITE3_INCLUDEDIR _SQLITE3_LIBDIR _SQLITE3_LDFLAGS _SQLITE3_CFLAGS)
26 else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
27 find_package(PkgConfig)
29 pkg_check_modules(_SQLITE3 sqlite3)
30 endif (PKG_CONFIG_FOUND)
31 endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
32 find_path(SQLITE3_INCLUDE_DIR
36 ${_SQLITE3_INCLUDEDIR}
43 find_library(SQLITE3_LIBRARY
55 set(SQLITE3_FOUND TRUE)
56 endif (SQLITE3_LIBRARY)
58 set(SQLITE3_INCLUDE_DIRS
59 ${SQLITE3_INCLUDE_DIR}
69 if (SQLITE3_INCLUDE_DIRS AND SQLITE3_LIBRARIES)
70 set(SQLITE3_FOUND TRUE)
71 endif (SQLITE3_INCLUDE_DIRS AND SQLITE3_LIBRARIES)
75 # Extract version from header file
76 find_file(SQLITE3_HEADER "sqlite3.h" HINTS ${SQLITE3_INCLUDE_DIRS})
78 file(STRINGS "${SQLITE3_HEADER}" _DEF_TMP REGEX "^#define SQLITE_VERSION +\\\"[^\\\"]+\\\"")
79 string (REGEX REPLACE ".*\\\"(([0-9]+[.]?)+).*" "\\1" SQLITE3_VERSION "${_DEF_TMP}")
80 endif (SQLITE3_HEADER)
82 if (NOT Sqlite3_FIND_QUIETLY)
83 message(STATUS "Found Sqlite3: ${SQLITE3_LIBRARIES} (found version \"${SQLITE3_VERSION}\")")
84 endif (NOT Sqlite3_FIND_QUIETLY)
86 if (Sqlite3_FIND_REQUIRED)
87 message(FATAL_ERROR "Could not find Sqlite3")
88 endif (Sqlite3_FIND_REQUIRED)
91 # show the SQLITE3_INCLUDE_DIRS and SQLITE3_LIBRARIES variables only in the advanced view
92 mark_as_advanced(SQLITE3_INCLUDE_DIRS SQLITE3_LIBRARIES)
94 endif (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS)