libkv is better than kv_objs, as it is able to bring more
properties with with it, for instance, the public include
directories, the public/private libraries it is linked against.
Signed-off-by: Kefu Chai <kchai@redhat.com>
list(APPEND kv_srcs LevelDBStore.cc)
endif (WITH_LEVELDB)
-add_library(kv_objs OBJECT ${kv_srcs})
-add_library(kv STATIC $<TARGET_OBJECTS:kv_objs>)
-target_include_directories(kv_objs SYSTEM BEFORE PUBLIC
- $<TARGET_PROPERTY:RocksDB::RocksDB,INTERFACE_INCLUDE_DIRECTORIES>)
-target_include_directories(kv SYSTEM BEFORE PUBLIC
- $<TARGET_PROPERTY:RocksDB::RocksDB,INTERFACE_INCLUDE_DIRECTORIES>)
+add_library(kv STATIC ${kv_srcs})
target_link_libraries(kv ${LEVELDB_LIBRARIES} RocksDB::RocksDB)
endif()
add_library(mon STATIC
- ${lib_mon_srcs}
- $<TARGET_OBJECTS:kv_objs>)
-target_link_libraries(mon heap_profiler)
+ ${lib_mon_srcs})
+target_link_libraries(mon kv heap_profiler)
endif()
add_library(os STATIC ${libos_srcs}
- $<TARGET_OBJECTS:kv_objs>
$<TARGET_OBJECTS:common_prioritycache_obj>)
-target_link_libraries(os heap_profiler)
+target_link_libraries(os heap_profiler kv)
if(WITH_BLUEFS)
add_library(bluefs SHARED