From e7d38d7a63bcfcb0f4575810611cac9c8e345fe3 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 9 Aug 2018 17:53:01 +0800 Subject: [PATCH] cmake: dmclock related cleanups * do not include_directories() globally. use dmclock::dmclock's interface properties instead * add_subdirectory(dmclock) instead of add_subdirectory(dmclock/src) for including its * set dmclock_TEST instead of including the subdirectories under dmclock/ * objclass/class_api.cc includes PrimaryLogPG.h, which in turn includes indirect_intrusive_heap.h, so it'd better to compile class_api.cc as a part of osd. Signed-off-by: Kefu Chai --- src/CMakeLists.txt | 29 +++++++++++------------------ src/osd/CMakeLists.txt | 8 +++++--- src/test/common/CMakeLists.txt | 4 +++- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 70b24c95e33..d84cc581b5c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -283,9 +283,6 @@ add_subdirectory(json_spirit) include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/src/xxHash") include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/src/rapidjson/include") -include_directories("${CMAKE_SOURCE_DIR}/src/dmclock/src") -include_directories("${CMAKE_SOURCE_DIR}/src/dmclock/support/src") - if(WITH_SEASTAR) find_package(fmt 4.0.0 QUIET) if(NOT fmt_FOUND) @@ -493,9 +490,6 @@ endif() add_subdirectory(kv) add_subdirectory(os) -set(cls_references_files objclass/class_api.cc) -add_library(cls_references_objs OBJECT ${cls_references_files}) - add_subdirectory(osd) set(ceph_osd_srcs @@ -538,27 +532,26 @@ if(WITH_TESTS) add_library(GTest::GTest ALIAS gtest) add_library(GTest::Main ALIAS gtest_main) endif() - - add_subdirectory(test) endif(WITH_TESTS) -add_subdirectory(compressor) - -add_subdirectory(tools) - # dmClock (after gmock) - -add_subdirectory(dmclock/src) - option(WITH_DMCLOCK_TESTS "enable the build of dmclock-tests and dmclock-data-struct tests binaries" OFF) if(WITH_TESTS AND WITH_DMCLOCK_TESTS) # note: add_test is not being called, so dmclock tests aren't part # of ceph tests - add_subdirectory(dmclock/test) - add_subdirectory(dmclock/support/test) -endif(WITH_TESTS AND WITH_DMCLOCK_TESTS) + set(dmclock_TEST ON CACHE BOOL "" FORCE) +endif() +add_subdirectory(dmclock) + +add_subdirectory(compressor) + +add_subdirectory(tools) + +if(WITH_TESTS) + add_subdirectory(test) +endif() add_subdirectory(crypto) diff --git a/src/osd/CMakeLists.txt b/src/osd/CMakeLists.txt index eb62a76c279..a4dcd6bd429 100644 --- a/src/osd/CMakeLists.txt +++ b/src/osd/CMakeLists.txt @@ -34,6 +34,7 @@ set(osd_srcs mClockClientQueue.cc OpQueueItem.cc ${CMAKE_SOURCE_DIR}/src/common/TrackedOp.cc + ${CMAKE_SOURCE_DIR}/src/objclass/class_api.cc ${osd_cyg_functions_src} ${osdc_osd_srcs}) if(HAS_VTA) @@ -41,11 +42,12 @@ if(HAS_VTA) PROPERTIES COMPILE_FLAGS -fno-var-tracking-assignments) endif() add_library(osd STATIC ${osd_srcs} - $ $) -target_link_libraries(osd PRIVATE +target_link_libraries(osd + PUBLIC dmclock::dmclock + PRIVATE ${LEVELDB_LIBRARIES} - dmclock heap_profiler cpu_profiler ${CMAKE_DL_LIBS}) + heap_profiler cpu_profiler ${CMAKE_DL_LIBS}) if(WITH_LTTNG) add_dependencies(osd osd-tp pg-tp) endif() diff --git a/src/test/common/CMakeLists.txt b/src/test/common/CMakeLists.txt index 0f9981c6204..9b6667b9bc2 100644 --- a/src/test/common/CMakeLists.txt +++ b/src/test/common/CMakeLists.txt @@ -46,7 +46,9 @@ add_executable(unittest_mclock_priority_queue test_mclock_priority_queue.cc ) add_ceph_unittest(unittest_mclock_priority_queue) -target_link_libraries(unittest_mclock_priority_queue ceph-common dmclock) +target_link_libraries(unittest_mclock_priority_queue + ceph-common + dmclock::dmclock) # unittest_str_map add_executable(unittest_str_map -- 2.39.5