mirror of
https://github.com/KingDuckZ/dindexer.git
synced 2024-11-25 00:53:43 +00:00
Link to system's sqlite if user doesn't want to use the one from SQLiteCpp.
This commit is contained in:
parent
5ecaecda49
commit
a6b71f0bd6
2 changed files with 104 additions and 0 deletions
96
cmake/Modules/Findsqlite3.cmake
Normal file
96
cmake/Modules/Findsqlite3.cmake
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
# - 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) 2008 Andreas Schneider <mail@cynapses.org>
|
||||||
|
#
|
||||||
|
# Redistribution and use is allowed according to the terms of the New
|
||||||
|
# BSD license.
|
||||||
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
if (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS)
|
||||||
|
# in cache already
|
||||||
|
set(SQLITE3_FOUND TRUE)
|
||||||
|
else (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS)
|
||||||
|
# use pkg-config to get the directories and then use these values
|
||||||
|
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||||
|
if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
|
||||||
|
include(UsePkgConfig)
|
||||||
|
pkgconfig(sqlite3 _SQLITE3_INCLUDEDIR _SQLITE3_LIBDIR _SQLITE3_LDFLAGS _SQLITE3_CFLAGS)
|
||||||
|
else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
|
||||||
|
find_package(PkgConfig)
|
||||||
|
if (PKG_CONFIG_FOUND)
|
||||||
|
pkg_check_modules(_SQLITE3 sqlite3)
|
||||||
|
endif (PKG_CONFIG_FOUND)
|
||||||
|
endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
|
||||||
|
find_path(SQLITE3_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
sqlite3.h
|
||||||
|
PATHS
|
||||||
|
${_SQLITE3_INCLUDEDIR}
|
||||||
|
/usr/include
|
||||||
|
/usr/local/include
|
||||||
|
/opt/local/include
|
||||||
|
/sw/include
|
||||||
|
)
|
||||||
|
|
||||||
|
find_library(SQLITE3_LIBRARY
|
||||||
|
NAMES
|
||||||
|
sqlite3
|
||||||
|
PATHS
|
||||||
|
${_SQLITE3_LIBDIR}
|
||||||
|
/usr/lib
|
||||||
|
/usr/local/lib
|
||||||
|
/opt/local/lib
|
||||||
|
/sw/lib
|
||||||
|
)
|
||||||
|
|
||||||
|
if (SQLITE3_LIBRARY)
|
||||||
|
set(SQLITE3_FOUND TRUE)
|
||||||
|
endif (SQLITE3_LIBRARY)
|
||||||
|
|
||||||
|
set(SQLITE3_INCLUDE_DIRS
|
||||||
|
${SQLITE3_INCLUDE_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
if (SQLITE3_FOUND)
|
||||||
|
set(SQLITE3_LIBRARIES
|
||||||
|
${SQLITE3_LIBRARIES}
|
||||||
|
${SQLITE3_LIBRARY}
|
||||||
|
)
|
||||||
|
endif (SQLITE3_FOUND)
|
||||||
|
|
||||||
|
if (SQLITE3_INCLUDE_DIRS AND SQLITE3_LIBRARIES)
|
||||||
|
set(SQLITE3_FOUND TRUE)
|
||||||
|
endif (SQLITE3_INCLUDE_DIRS AND SQLITE3_LIBRARIES)
|
||||||
|
|
||||||
|
if (SQLITE3_FOUND)
|
||||||
|
if (NOT Sqlite3_FIND_QUIETLY)
|
||||||
|
message(STATUS "Found Sqlite3: ${SQLITE3_LIBRARIES}")
|
||||||
|
endif (NOT Sqlite3_FIND_QUIETLY)
|
||||||
|
else (SQLITE3_FOUND)
|
||||||
|
if (Sqlite3_FIND_REQUIRED)
|
||||||
|
message(FATAL_ERROR "Could not find Sqlite3")
|
||||||
|
endif (Sqlite3_FIND_REQUIRED)
|
||||||
|
endif (SQLITE3_FOUND)
|
||||||
|
|
||||||
|
# show the SQLITE3_INCLUDE_DIRS and SQLITE3_LIBRARIES variables only in the advanced view
|
||||||
|
mark_as_advanced(SQLITE3_INCLUDE_DIRS SQLITE3_LIBRARIES)
|
||||||
|
|
||||||
|
endif (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS)
|
||||||
|
|
||||||
|
if (SQLITE3_FOUND)
|
||||||
|
if (NOT TARGET SQLite3::SQLite3)
|
||||||
|
add_library(SQLite3::SQLite3 UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(SQLite3::SQLite3 PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${SQLITE3_INCLUDE_DIRS}"
|
||||||
|
IMPORTED_LOCATION "${SQLITE3_LIBRARIES}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
|
@ -1,5 +1,12 @@
|
||||||
project(${bare_name}-backend-sqlite CXX)
|
project(${bare_name}-backend-sqlite CXX)
|
||||||
|
|
||||||
|
if (SQLITECPP_INTERNAL_SQLITE)
|
||||||
|
set(sqlite3_lib "sqlite3")
|
||||||
|
else()
|
||||||
|
find_package(sqlite3 REQUIRED)
|
||||||
|
set(sqlite3_lib "SQLite3::SQLite3")
|
||||||
|
endif()
|
||||||
|
|
||||||
add_library(${PROJECT_NAME} SHARED
|
add_library(${PROJECT_NAME} SHARED
|
||||||
backend_sqlite.cpp
|
backend_sqlite.cpp
|
||||||
)
|
)
|
||||||
|
@ -7,6 +14,7 @@ add_library(${PROJECT_NAME} SHARED
|
||||||
target_link_libraries(${PROJECT_NAME}
|
target_link_libraries(${PROJECT_NAME}
|
||||||
PRIVATE ${bare_name}-inc
|
PRIVATE ${bare_name}-inc
|
||||||
PRIVATE SQLiteCpp
|
PRIVATE SQLiteCpp
|
||||||
|
PRIVATE ${sqlite3_lib}
|
||||||
)
|
)
|
||||||
|
|
||||||
install(TARGETS ${PROJECT_NAME}
|
install(TARGETS ${PROJECT_NAME}
|
||||||
|
|
Loading…
Reference in a new issue