From: Patrick Donnelly Date: Tue, 23 Jul 2019 21:43:50 +0000 (-0700) Subject: cmake: improve build inst for cephsqlite X-Git-Tag: v17.1.0~2521^2~15 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=eb52c869d5a3672a85b9dec25b9e372e57239bcf;p=ceph.git cmake: improve build inst for cephsqlite Notably, find SQLite and build the test code. Signed-off-by: Patrick Donnelly --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e41b367ff330..1c44b7fc05def 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -280,7 +280,14 @@ endif(WITH_QATZIP) # 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) diff --git a/cmake/modules/FindSQLite3.cmake b/cmake/modules/FindSQLite3.cmake new file mode 100644 index 0000000000000..3d96d66524e13 --- /dev/null +++ b/cmake/modules/FindSQLite3.cmake @@ -0,0 +1,10 @@ +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() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cd387786d8c0d..dc5de2c6c1a07 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -806,8 +806,8 @@ endif(WITH_LIBCEPHFS) 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 diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index 599747073a17e..b8a7e5f7c794c 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -961,4 +961,9 @@ add_ceph_unittest(unittest_any) 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