From: Patrick Donnelly Date: Tue, 23 Jul 2019 21:43:50 +0000 (-0700) Subject: cmake: improve build inst for cephsqlite X-Git-Tag: v16.2.0~36^2~13 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a6555b51724a76903af7dbb2380b697a9ef2e362;p=ceph.git cmake: improve build inst for cephsqlite Notably, find SQLite and build the test code. Signed-off-by: Patrick Donnelly (cherry picked from commit eb52c869d5a3672a85b9dec25b9e372e57239bcf) --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b66ddd636ee..7734ad08b9cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -278,7 +278,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 000000000000..3d96d66524e1 --- /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 5a6c1e2e42e5..67b4fab6fa3a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -803,8 +803,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 d9075df4c60c..c0cf6454a45d 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -939,4 +939,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