#need to update cmake version here cmake_minimum_required(VERSION 3.14.0) project(dbstore) option(USE_SQLITE "Enable SQLITE DB" ON) set (CMAKE_INCLUDE_DIR ${CMAKE_INCLUDE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/common") set(dbstore_srcs common/dbstore_log.h common/dbstore.h common/dbstore.cc config/store.cc) IF(USE_SQLITE) list(APPEND dbstore_srcs config/sqlite.cc sqlite/connection.cc sqlite/error.cc sqlite/statement.cc) endif() set(dbstore_mgr_srcs dbstore_mgr.h dbstore_mgr.cc ) add_library(dbstore_lib ${dbstore_srcs}) target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw" PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw/store/rados" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") set(link_targets spawn) if(WITH_JAEGER) list(APPEND link_targets jaeger_base) endif() list(APPEND link_targets rgw_common) target_link_libraries(dbstore_lib PUBLIC ${link_targets}) set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} dbstore_lib) IF(USE_SQLITE) add_subdirectory(sqlite) set(CMAKE_INCLUDE_DIR ${CMAKE_INCLUDE_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/sqlite") add_compile_definitions(SQLITE_ENABLED=1) set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} rgw_common) set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} sqlite_db) add_dependencies(sqlite_db dbstore_lib) ENDIF() # add pthread library set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} pthread) find_package(gtest QUIET) if(WITH_TESTS) add_subdirectory(tests) else() message(WARNING "Gtest not enabled") endif() include_directories(${CMAKE_INCLUDE_DIR}) add_library(dbstore STATIC ${dbstore_mgr_srcs}) target_link_libraries(dbstore ${CMAKE_LINK_LIBRARIES}) # testing purpose set(dbstore_main_srcs dbstore_main.cc) set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} dbstore) add_executable(dbstore-bin ${dbstore_main_srcs}) add_dependencies(dbstore-bin dbstore) target_link_libraries(dbstore-bin ${CMAKE_LINK_LIBRARIES})