| # Distributed under the OSI-approved BSD 3-Clause License.  See accompanying | 
 | # file LICENSE.rst or https://cmake.org/licensing for details. | 
 |  | 
 | #[=======================================================================[.rst: | 
 | FindSQLite3 | 
 | ----------- | 
 |  | 
 | .. versionadded:: 3.14 | 
 |  | 
 | Find the SQLite libraries, v3 | 
 |  | 
 | Imported Targets | 
 | ^^^^^^^^^^^^^^^^ | 
 |  | 
 | This module defines the following :prop_tgt:`IMPORTED` target: | 
 |  | 
 | ``SQLite::SQLite3`` | 
 |  | 
 | Result variables | 
 | ^^^^^^^^^^^^^^^^ | 
 |  | 
 | This module will set the following variables if found: | 
 |  | 
 | ``SQLite3_INCLUDE_DIRS`` | 
 |   where to find sqlite3.h, etc. | 
 | ``SQLite3_LIBRARIES`` | 
 |   the libraries to link against to use SQLite3. | 
 | ``SQLite3_VERSION`` | 
 |   version of the SQLite3 library found | 
 | ``SQLite3_FOUND`` | 
 |   TRUE if found | 
 |  | 
 | #]=======================================================================] | 
 |  | 
 | cmake_policy(PUSH) | 
 | cmake_policy(SET CMP0159 NEW) # file(STRINGS) with REGEX updates CMAKE_MATCH_<n> | 
 |  | 
 | find_package(PkgConfig QUIET) | 
 | if(PKG_CONFIG_FOUND) | 
 |   pkg_check_modules(PC_SQLite3 QUIET sqlite3) | 
 | endif() | 
 |  | 
 | # Look for the necessary header | 
 | find_path(SQLite3_INCLUDE_DIR NAMES sqlite3.h | 
 |   HINTS | 
 |     ${PC_SQLite3_INCLUDE_DIRS} | 
 | ) | 
 | mark_as_advanced(SQLite3_INCLUDE_DIR) | 
 |  | 
 | # Look for the necessary library | 
 | find_library(SQLite3_LIBRARY NAMES sqlite3 sqlite | 
 |   HINTS | 
 |     ${PC_SQLite3_LIBRARY_DIRS} | 
 | ) | 
 | mark_as_advanced(SQLite3_LIBRARY) | 
 |  | 
 | # Extract version information from the header file | 
 | if(SQLite3_INCLUDE_DIR) | 
 |     file(STRINGS ${SQLite3_INCLUDE_DIR}/sqlite3.h _ver_line | 
 |          REGEX "^#define SQLITE_VERSION  *\"[0-9]+\\.[0-9]+\\.[0-9]+\"" | 
 |          LIMIT_COUNT 1) | 
 |     string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" | 
 |            SQLite3_VERSION "${_ver_line}") | 
 |     unset(_ver_line) | 
 | endif() | 
 |  | 
 | include(FindPackageHandleStandardArgs) | 
 | find_package_handle_standard_args(SQLite3 | 
 |     REQUIRED_VARS SQLite3_LIBRARY SQLite3_INCLUDE_DIR | 
 |     VERSION_VAR SQLite3_VERSION) | 
 |  | 
 | # Create the imported target | 
 | if(SQLite3_FOUND) | 
 |     set(SQLite3_INCLUDE_DIRS ${SQLite3_INCLUDE_DIR}) | 
 |     set(SQLite3_LIBRARIES ${SQLite3_LIBRARY}) | 
 |     if(NOT TARGET SQLite::SQLite3) | 
 |         add_library(SQLite::SQLite3 UNKNOWN IMPORTED) | 
 |         set_target_properties(SQLite::SQLite3 PROPERTIES | 
 |             IMPORTED_LOCATION             "${SQLite3_LIBRARY}" | 
 |             INTERFACE_INCLUDE_DIRECTORIES "${SQLite3_INCLUDE_DIR}") | 
 |     endif() | 
 | endif() | 
 |  | 
 | cmake_policy(POP) |