Notably, find SQLite and build the test code.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
# needs mds and? XXX
option(WITH_LIBCEPHFS "libcephfs client library" ON)
-option(WITH_LIBCEPHSQLITE "libcephsqlite client library" ON)
+
+find_package(SQLite3)
+if(SQLITE3_FOUND)
+ option(WITH_LIBCEPHSQLITE "libcephsqlite client library" ON)
+else()
+ message(WARNING "disabling WITH_LIBCEPHSQLITE, which depends on SQLite3")
+ set(WITH_LIBCEPHSQLITE OFF)
+endif()
# key-value store
option(WITH_KVS "Key value store is here" ON)
--- /dev/null
+find_path(SQLITE3_INCLUDE_DIR NAMES sqlite3.h PATHS /usr/include /usr/local/include)
+find_library(SQLITE3_LIBRARY NAMES sqlite3)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(SQLITE3 DEFAULT_MSG SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR)
+
+if(SQLITE3_FOUND)
+ set(SQLITE3_LIBRARIES ${SQLITE3_LIBRARY})
+ set(SQLITE3_INCLUDE_DIRS ${SQLITE3_INCLUDE_DIR})
+endif()
if(WITH_LIBCEPHSQLITE)
set(libcephsqlite_srcs libcephsqlite.cc)
add_library(cephsqlite ${CEPH_SHARED} ${libcephsqlite_srcs})
- target_link_libraries(cephsqlite PRIVATE client ceph-common
- ${CRYPTO_LIBS} ${EXTRALIBS})
+ set_target_properties(cephsqlite PROPERTIES COMPILE_FLAGS "-I${SQLITE3_INCLUDE_DIRS}")
+ target_link_libraries(cephsqlite radosstriper librados ${SQLITE3_LIBRARIES} ${EXTRALIBS})
if(ENABLE_SHARED)
set_target_properties(cephsqlite PROPERTIES
OUTPUT_NAME cephsqlite
add_executable(unittest_weighted_shuffle test_weighted_shuffle.cc)
add_ceph_unittest(unittest_weighted_shuffle)
+if(WITH_LIBCEPHSQLITE)
+ add_executable(test_libcephsqlite test_libcephsqlite.cc)
+ target_link_libraries(test_libcephsqlite cephsqlite radosstriper librados)
+endif(WITH_LIBCEPHSQLITE)
+
#make check ends here