From 1c8ace82768b55bdfbbf8792490ee7f585bda9f8 Mon Sep 17 00:00:00 2001 From: Florian Franzmann Date: Sun, 1 Dec 2019 18:06:18 +0100 Subject: [PATCH 01/35] Find and use system sqlite --- CMakeLists.txt | 17 ++++++++--------- cmake/sqlite.cmake | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 cmake/sqlite.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 0318104..544d115 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,17 +6,16 @@ project(hiberlite) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_CXX_STANDARD 11) +set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-terminate") -set(TARGET_NAME hiberlite) +set(TARGET_NAME hiberlite) -set(SOURCES_SQLITE - sqlite-amalgamation/sqlite3.c - sqlite-amalgamation/sqlite3.h -) - -set(SOURCES +include(sqlite) + + +set(SOURCES src/BeanLoader.cpp src/BeanUpdater.cpp src/ChildKiller.cpp @@ -58,18 +57,18 @@ set(SOURCES add_library(${TARGET_NAME} ${SOURCES} - ${SOURCES_SQLITE} ) target_include_directories(${TARGET_NAME} PUBLIC include - sqlite-amalgamation + ${SQLITE_INCLUDES} ) target_link_libraries(${TARGET_NAME} pthread dl + ${LIBSQLITE} ) add_executable(sample diff --git a/cmake/sqlite.cmake b/cmake/sqlite.cmake new file mode 100644 index 0000000..7cc50f7 --- /dev/null +++ b/cmake/sqlite.cmake @@ -0,0 +1,18 @@ +find_library(LIBSQLITE sqlite3 REQUIRED) +message(STATUS "using ${LIBSQLITE}") + +find_library(LIBDL dl) +message(STATUS "using ${LIBDL}") + +set(LIBSQLITE ${LIBSQLITE} ${LIBDL}) + +find_path(SQLITE_INCLUDES + NAMES sqlite3.h + sqlite3ext.h) +if(SQLITE_INCLUDES) + message(STATUS "sqlite include path: ${SQLITE_INCLUDES}") +else() + message(FATAL_ERROR "sqlite headers not found.") +endif() + +include_directories(SYSTEM ${SQLITE_INCLUDES}) -- 2.24.0 .