47 lines
1.1 KiB
CMake
47 lines
1.1 KiB
CMake
|
# Copyright (c) 2023, AgiBot Inc.
|
||
|
# All rights reserved.
|
||
|
|
||
|
include(FetchContent)
|
||
|
|
||
|
message(STATUS "get sqlite ...")
|
||
|
|
||
|
# sqlite version: https://www.sqlite.org/chronology.html
|
||
|
set(sqlite_DOWNLOAD_URL
|
||
|
"https://www.sqlite.org/2023/sqlite-amalgamation-3420000.zip"
|
||
|
CACHE STRING "")
|
||
|
|
||
|
if(sqlite_LOCAL_SOURCE)
|
||
|
FetchContent_Declare(
|
||
|
sqlite
|
||
|
SOURCE_DIR ${sqlite_LOCAL_SOURCE}
|
||
|
OVERRIDE_FIND_PACKAGE)
|
||
|
else()
|
||
|
FetchContent_Declare(
|
||
|
sqlite
|
||
|
URL ${sqlite_DOWNLOAD_URL}
|
||
|
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
|
||
|
OVERRIDE_FIND_PACKAGE)
|
||
|
endif()
|
||
|
|
||
|
FetchContent_GetProperties(sqlite)
|
||
|
if(NOT sqlite_POPULATED)
|
||
|
FetchContent_Populate(sqlite)
|
||
|
|
||
|
# sqlite lib
|
||
|
add_library(libsqlite)
|
||
|
add_library(sqlite::libsqlite ALIAS libsqlite)
|
||
|
|
||
|
file(GLOB head_files ${sqlite_SOURCE_DIR}/*.h)
|
||
|
|
||
|
target_sources(libsqlite PRIVATE ${sqlite_SOURCE_DIR}/sqlite3.c)
|
||
|
target_include_directories(libsqlite PUBLIC $<BUILD_INTERFACE:${sqlite_SOURCE_DIR}>)
|
||
|
target_sources(libsqlite INTERFACE FILE_SET HEADERS BASE_DIRS ${sqlite_SOURCE_DIR} FILES ${head_files})
|
||
|
|
||
|
if(UNIX)
|
||
|
target_link_libraries(libsqlite PUBLIC pthread dl)
|
||
|
endif()
|
||
|
endif()
|
||
|
|
||
|
# import targets:
|
||
|
# sqlite::libsqlite
|