AimRT/cmake/GetSqlite.cmake
2024-09-23 16:01:31 +08:00

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