• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# - Find SQLite3
2# Find the native SQLite3 includes and libraries
3#
4#  SQLite3_INCLUDE_DIRS - where to find sqlite3.h, etc.
5#  SQLite3_LIBRARIES    - List of libraries when using SQLite3.
6#  SQLite3_FOUND        - True if SQLite3 found.
7
8if (SQLite3_INCLUDE_DIR)
9	# Already in cache, be silent
10	set (SQLite3_FIND_QUIETLY TRUE)
11endif ()
12
13find_package (PkgConfig QUIET)
14pkg_check_modules (PC_SQLite3 QUIET sqlite3)
15
16set (SQLite3_VERSION ${PC_SQLite3_VERSION})
17
18find_path (SQLite3_INCLUDE_DIR sqlite3.h
19	HINTS
20		${PC_SQLite3_INCLUDEDIR}
21		${PC_SQLite3_INCLUDE_DIRS}
22		${SQLite3_ROOT}
23	)
24
25find_library (SQLite3_LIBRARY
26	NAMES
27		sqlite3
28	HINTS
29		${PC_SQLite3_LIBDIR}
30		${PC_SQLite3_LIBRARY_DIRS}
31		${SQLite3_ROOT}
32	)
33
34include (FindPackageHandleStandardArgs)
35
36find_package_handle_standard_args (SQLite3
37	REQUIRED_VARS
38		SQLite3_LIBRARY
39		SQLite3_INCLUDE_DIR
40	VERSION_VAR
41		SQLite3_VERSION
42	)
43
44if (SQLite3_FOUND)
45	set (SQLite3_INCLUDE_DIRS ${SQLite3_INCLUDE_DIR})
46	set (SQLite3_LIBRARIES ${SQLite3_LIBRARY})
47	if (NOT TARGET SQLite::SQLite3)
48		add_library (SQLite::SQLite3 UNKNOWN IMPORTED)
49		set_target_properties (SQLite::SQLite3 PROPERTIES
50			INTERFACE_INCLUDE_DIRECTORIES "${SQLite3_INCLUDE_DIRS}"
51			IMPORTED_LOCATION "${SQLite3_LIBRARIES}"
52		)
53	endif ()
54endif ()
55
56mark_as_advanced (SQLite3_INCLUDE_DIR SQLite3_LIBRARY)
57