-
Notifications
You must be signed in to change notification settings - Fork 811
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add find sqlite to the root CMakeLists.txt. Signed-off-by: Camila <[email protected]>
- Loading branch information
Camila
committed
Dec 1, 2023
1 parent
50bbdcb
commit 931889d
Showing
3 changed files
with
71 additions
and
61 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,60 +1,68 @@ | ||
# - Try to find SQLite3 | ||
# Once done this will define | ||
# | ||
# SQLITE3_FOUND - system has SQLite3 | ||
# SQLITE3_INCLUDE_DIRS - the SQLite3 include directory | ||
# SQLITE3_LIBRARIES - Link these to use SQLite3 | ||
# SQLITE3_DEFINITIONS - Compiler switches required for using SQLite3 | ||
# | ||
# Copyright (c) 2009-2013 Andreas Schneider <[email protected]> | ||
# | ||
# Redistribution and use is allowed according to the terms of the New | ||
# BSD license. | ||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file. | ||
# | ||
|
||
|
||
if (UNIX) | ||
find_package(PkgConfig) | ||
if (PKG_CONFIG_FOUND) | ||
pkg_check_modules(_SQLITE3 sqlite3) | ||
endif (PKG_CONFIG_FOUND) | ||
endif (UNIX) | ||
|
||
find_path(SQLITE3_INCLUDE_DIR | ||
NAMES | ||
sqlite3.h | ||
PATHS | ||
${_SQLITE3_INCLUDEDIR} | ||
${SQLITE3_INCLUDE_DIRS} | ||
) | ||
|
||
find_library(SQLITE3_LIBRARY | ||
NAMES | ||
sqlite3 sqlite3-0 | ||
PATHS | ||
${_SQLITE3_LIBDIR} | ||
${SQLITE3_LIBRARIES} | ||
) | ||
|
||
set(SQLITE3_INCLUDE_DIRS | ||
${SQLITE3_INCLUDE_DIR} | ||
) | ||
|
||
if (SQLITE3_LIBRARY) | ||
set(SQLITE3_LIBRARIES | ||
${SQLITE3_LIBRARIES} | ||
${SQLITE3_LIBRARY} | ||
) | ||
endif (SQLITE3_LIBRARY) | ||
|
||
if (SQLite3_FIND_VERSION AND _SQLITE3_VERSION) | ||
set(SQLite3_VERSION _SQLITE3_VERSION) | ||
endif (SQLite3_FIND_VERSION AND _SQLITE3_VERSION) | ||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying | ||
# file Copyright.txt or https://cmake.org/licensing for details. | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(SQLite3 DEFAULT_MSG SQLITE3_LIBRARIES SQLITE3_INCLUDE_DIRS) | ||
#[=======================================================================[.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 | ||
^^^^^^^^^^^^^^^^ | ||
# show the SQLITE3_INCLUDE_DIRS and SQLITE3_LIBRARIES variables only in the advanced view | ||
mark_as_advanced(SQLITE3_INCLUDE_DIRS SQLITE3_LIBRARIES) | ||
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 | ||
#]=======================================================================] | ||
|
||
# Look for the necessary header | ||
find_path(SQLite3_INCLUDE_DIR NAMES sqlite3.h) | ||
mark_as_advanced(SQLite3_INCLUDE_DIR) | ||
|
||
# Look for the necessary library | ||
find_library(SQLite3_LIBRARY NAMES sqlite3 sqlite) | ||
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_INCLUDE_DIR SQLite3_LIBRARY | ||
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() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters