find/FindSQLite3.cmake

40 lines
1.1 KiB
CMake

set(SQLite3_PREFIX "" CACHE PATH "The path to the prefix of SQLite3 installation")
find_path(SQLite3_INCLUDE_DIR NAMES sqlite3.h
PATHS
${SQLite3_PREFIX}/include
/opt/local/include
/usr/include
/usr/local/include
)
find_library(SQLite3_LIBRARIES NAMES sqlite3
PATHS
${SQLite3_PREFIX}/lib
/opt/local/lib
/usr/lib
/usr/local/lib
)
if(SQLite3_INCLUDE_DIR AND SQLite3_LIBRARIES AND NOT TARGET SQLite::SQlite3)
get_filename_component(SQLite3_LIBRARY_DIR ${SQLite3_LIBRARIES} PATH)
set(SQLite3_FOUND TRUE)
set(SQLite3_INCLUDE_DIRS ${SQLite3_INCLUDE_DIR})
add_library(SQLite::SQLite3 INTERFACE IMPORTED)
set_target_properties(SQLite::SQLite3 PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${SQLite3_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "${SQLite3_LIBRARIES}"
)
endif()
# Extract version information from the header file
if(SQLite3_FOUND)
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()