From eea41d4d7c616651b7fb792059c177317a5445a8 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 14 Jun 2018 14:08:53 +0800 Subject: [PATCH] cmake: add crimson static library libcrimson consolidates the object library of crimson_{net,thread} and seastar_{buffer,net,thread}_objs. by offering a static library glueing seastar, we can link against these libraries and its dependencies in a simpler way. Signed-off-by: Kefu Chai --- src/CMakeLists.txt | 10 --------- src/crimson/CMakeLists.txt | 15 +++++++++++-- src/crimson/net/CMakeLists.txt | 10 --------- src/crimson/thread/CMakeLists.txt | 8 ------- src/test/crimson/CMakeLists.txt | 35 ++++++++++--------------------- 5 files changed, 24 insertions(+), 54 deletions(-) delete mode 100644 src/crimson/net/CMakeLists.txt delete mode 100644 src/crimson/thread/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a35b8b47ade..d206895f3f7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -424,16 +424,6 @@ endif() add_library(common_buffer_obj OBJECT common/buffer.cc) -if(WITH_SEASTAR) - add_library(seastar_buffer_obj OBJECT common/buffer_seastar.cc) - # target_link_libraries() doesn't work for object libraries, so the - # Seastar properties are applied manually (and link is unnecessary) - target_compile_definitions(seastar_buffer_obj - PUBLIC $) - target_include_directories(seastar_buffer_obj - PUBLIC $) -endif() - add_library(common_texttable_obj OBJECT common/TextTable.cc) diff --git a/src/crimson/CMakeLists.txt b/src/crimson/CMakeLists.txt index 36a7b102a7e..7d513a5bea9 100644 --- a/src/crimson/CMakeLists.txt +++ b/src/crimson/CMakeLists.txt @@ -1,2 +1,13 @@ -add_subdirectory(net) -add_subdirectory(thread) +set(crimson_net_srcs + net/Dispatcher.cc + net/Errors.cc + net/SocketConnection.cc + net/SocketMessenger.cc) +set(crimson_thread_srcs + thread/ThreadPool.cc + thread/Throttle.cc) +add_library(crimson STATIC + ${crimson_net_srcs} + ${crimson_thread_srcs} + ${CMAKE_SOURCE_DIR}/src/common/buffer_seastar.cc) +target_link_libraries(crimson Seastar::seastar) diff --git a/src/crimson/net/CMakeLists.txt b/src/crimson/net/CMakeLists.txt deleted file mode 100644 index 99cd65b03ad..00000000000 --- a/src/crimson/net/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -set(crimson_net_srcs - Dispatcher.cc - Errors.cc - SocketConnection.cc - SocketMessenger.cc) -add_library(crimson_net_objs OBJECT ${crimson_net_srcs}) -target_compile_definitions(crimson_net_objs - PUBLIC $) -target_include_directories(crimson_net_objs - PUBLIC $) diff --git a/src/crimson/thread/CMakeLists.txt b/src/crimson/thread/CMakeLists.txt deleted file mode 100644 index 339ff4b1bc4..00000000000 --- a/src/crimson/thread/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(crimson_thread_srcs - ThreadPool.cc - Throttle.cc) -add_library(crimson_thread_objs OBJECT ${crimson_thread_srcs}) -target_compile_definitions(crimson_thread_objs - PUBLIC $) -target_include_directories(crimson_thread_objs - PUBLIC $) diff --git a/src/test/crimson/CMakeLists.txt b/src/test/crimson/CMakeLists.txt index 313afa943ff..b6d890411c8 100644 --- a/src/test/crimson/CMakeLists.txt +++ b/src/test/crimson/CMakeLists.txt @@ -1,37 +1,24 @@ -set(test_buffer_srcs - test_buffer.cc - $) -add_executable(unittest_seastar_buffer ${test_buffer_srcs}) +add_executable(unittest_seastar_buffer + test_buffer.cc) add_ceph_unittest(unittest_seastar_buffer) -target_link_libraries(unittest_seastar_buffer ceph-common Seastar::seastar) +target_link_libraries(unittest_seastar_buffer ceph-common crimson) add_executable(unittest_seastar_denc test_denc.cc - $ $) add_ceph_unittest(unittest_seastar_denc) -target_link_libraries(unittest_seastar_denc ceph-common global Seastar::seastar) +target_link_libraries(unittest_seastar_denc ceph-common global crimson) -set(test_messenger_srcs - test_messenger.cc - $ - $ - $) -add_executable(unittest_seastar_messenger ${test_messenger_srcs}) +add_executable(unittest_seastar_messenger test_messenger.cc) add_ceph_unittest(unittest_seastar_messenger) -target_link_libraries(unittest_seastar_messenger ceph-common Seastar::seastar) +target_link_libraries(unittest_seastar_messenger ceph-common crimson) -set(test_alien_echo_srcs - test_alien_echo.cc - $ - $ - $) -add_executable(unittest_seastar_echo ${test_alien_echo_srcs}) +add_executable(unittest_seastar_echo + test_alien_echo.cc) add_ceph_unittest(unittest_seastar_echo) -target_link_libraries(unittest_seastar_echo ceph-common global Seastar::seastar) +target_link_libraries(unittest_seastar_echo ceph-common global crimson) add_executable(unittest_seastar_thread_pool - test_thread_pool.cc - $) + test_thread_pool.cc) add_ceph_unittest(unittest_seastar_thread_pool) -target_link_libraries(unittest_seastar_thread_pool Seastar::seastar) +target_link_libraries(unittest_seastar_thread_pool crimson) -- 2.39.5