]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: improve build inst for cephsqlite
authorPatrick Donnelly <pdonnell@redhat.com>
Tue, 23 Jul 2019 21:43:50 +0000 (14:43 -0700)
committerPatrick Donnelly <pdonnell@redhat.com>
Fri, 19 Mar 2021 15:52:54 +0000 (08:52 -0700)
Notably, find SQLite and build the test code.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
CMakeLists.txt
cmake/modules/FindSQLite3.cmake [new file with mode: 0644]
src/CMakeLists.txt
src/test/CMakeLists.txt

index 4e41b367ff3302d104fcb7d4fd40d2f9b19992c2..1c44b7fc05def5826d12b34e53b1e34178b1fc35 100644 (file)
@@ -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 (file)
index 0000000..3d96d66
--- /dev/null
@@ -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()
index cd387786d8c0d9726c09a09de8b2d910e7d338cc..dc5de2c6c1a07aa229f6e3d0fcdaf10f231723ff 100644 (file)
@@ -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
index 599747073a17effe63854f3159a49da3233e3bec..b8a7e5f7c794c92ae5ac7243116fb2f1d580a3ba 100644 (file)
@@ -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