]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: make common/TextTable.cc an object library 9192/head
authorKefu Chai <kchai@redhat.com>
Thu, 19 May 2016 04:49:58 +0000 (12:49 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 19 May 2016 05:02:09 +0000 (13:02 +0800)
so we don't recompile it whenever it is used.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/CMakeLists.txt
src/test/CMakeLists.txt
src/test/bench/CMakeLists.txt
src/test/cls_rbd/CMakeLists.txt
src/test/common/CMakeLists.txt
src/test/librbd/CMakeLists.txt

index cfccb67b079c68bb91db695f7780f6331d216777..95b5a2fc142813d08ef63e3fe106fe88ef540933 100644 (file)
@@ -222,6 +222,9 @@ if(HAVE_GOOD_YASM_ELF64)
     common/crc32c_intel_fast_zero_asm.S)
 endif(HAVE_GOOD_YASM_ELF64)
 
+add_library(common_texttable_obj OBJECT
+  common/TextTable.cc)
+
 set(libcommon_files
   ${CMAKE_BINARY_DIR}/src/include/ceph_ver.h
   ceph_ver.c
@@ -268,7 +271,7 @@ set(libcommon_files
   common/TrackedOp.cc
   common/SloppyCRCMap.cc
   common/types.cc
-  common/TextTable.cc
+  $<TARGET_OBJECTS:common_texttable_obj>
   log/Log.cc
   log/SubsystemMap.cc
   mon/MonCap.cc
@@ -553,7 +556,7 @@ set(dencoder_srcs
   test/encoding/ceph_dencoder.cc
   $<TARGET_OBJECTS:krbd_objs>
   $<TARGET_OBJECTS:parse_secret_objs>
-  common/TextTable.cc
+  $<TARGET_OBJECTS:common_texttable_obj>
   )
 if(${WITH_RADOSGW})
   list(APPEND dencoder_srcs
@@ -637,9 +640,9 @@ add_library(mon STATIC ${lib_mon_srcs} $<TARGET_OBJECTS:mon_common_objs>
 target_link_libraries(mon ${ALLOC_LIBS})
 
 set(ceph_mon_srcs
-  ceph_mon.cc
-  common/TextTable.cc)
-add_executable(ceph-mon ${ceph_mon_srcs})
+  ceph_mon.cc)
+add_executable(ceph-mon ${ceph_mon_srcs}
+  $<TARGET_OBJECTS:common_texttable_obj>)
 add_dependencies(ceph-mon erasure_code_plugins)
       target_link_libraries(ceph-mon mon common os global ${EXTRALIBS}
   ${CMAKE_DL_LIBS})
@@ -1100,10 +1103,11 @@ if(${WITH_RBD})
     tools/rbd/action/Resize.cc
     tools/rbd/action/Snap.cc
     tools/rbd/action/Status.cc
-    tools/rbd/action/Watch.cc
-    common/TextTable.cc)
-  add_executable(rbd ${rbd_srcs} $<TARGET_OBJECTS:common_util_obj>
-    $<TARGET_OBJECTS:parse_secret_objs>)
+    tools/rbd/action/Watch.cc)
+  add_executable(rbd ${rbd_srcs}
+    $<TARGET_OBJECTS:common_util_obj>
+    $<TARGET_OBJECTS:parse_secret_objs>
+    $<TARGET_OBJECTS:common_texttable_obj>)
   set_target_properties(rbd PROPERTIES OUTPUT_NAME rbd)
   target_link_libraries(rbd librbd librados global common keyutils udev
     ${Boost_REGEX_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY}
index 13e61c5b3d3c4f533cfc25680fe8006389ccd6eb..e6475a32113a0872999299c26456def8a1bb1aa7 100644 (file)
@@ -761,7 +761,7 @@ target_link_libraries(unittest_ipaddr mon global)
 # unittest_texttable
 add_executable(unittest_texttable EXCLUDE_FROM_ALL
   test_texttable.cc
-  ${CMAKE_SOURCE_DIR}/src/common/TextTable.cc
+  $<TARGET_OBJECTS:common_texttable_obj>
   )
 add_ceph_unittest(unittest_texttable ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest_texttable)
 target_link_libraries(unittest_texttable mon global)
index d1a903b61767fbfe2903c586584520dcb60de7d9..6bd153f613784f4edb643d906485c2564e2ae3da 100644 (file)
@@ -18,10 +18,10 @@ if (${WITH_RBD})
     rbd_backend.cc
     detailed_stat_collector.cc
     bencher.cc
-    ${CMAKE_SOURCE_DIR}/src/common/TextTable.cc
   )
   add_executable(ceph_smalliobenchrbd
     ${smalliobenchrbd_srcs}
+    $<TARGET_OBJECTS:common_texttable_obj>
     $<TARGET_OBJECTS:parse_secret_objs>
     )
   target_link_libraries(ceph_smalliobenchrbd
index 65ada22255c27a8edbcac5c7e6d0af82925656fd..84be512201fde8039e3a8447ae302b4764a334a2 100644 (file)
@@ -1,7 +1,7 @@
 # cls_test_cls_rbd
 add_executable(ceph_test_cls_rbd
   test_cls_rbd.cc
-  ${CMAKE_SOURCE_DIR}/src/common/TextTable.cc
+  $<TARGET_OBJECTS:common_texttable_obj>
   $<TARGET_OBJECTS:parse_secret_objs>
   )
 set_target_properties(ceph_test_cls_rbd PROPERTIES COMPILE_FLAGS
index 89a8a3ccd75f11d334dc0b5901b8e4a71d8a2f97..1018300a85416d2a9a94be4acaa32ff1acbb21a6 100644 (file)
@@ -1,7 +1,7 @@
 # get_command_descriptions
 add_executable(get_command_descriptions
   get_command_descriptions.cc
-  ${CMAKE_SOURCE_DIR}/src/common/TextTable.cc
+  $<TARGET_OBJECTS:common_texttable_obj>
   )
 target_link_libraries(get_command_descriptions
   mon
index 0798a0be71a7b54e77781c35a4e02b1c05cf861a..c28532567a0728e7d1ef6bddbb307d3a7213f4f3 100644 (file)
@@ -44,8 +44,8 @@ set(unittest_librbd_srcs
   )
 add_executable(unittest_librbd EXCLUDE_FROM_ALL
   ${unittest_librbd_srcs}
-  ${CMAKE_SOURCE_DIR}/src/common/TextTable.cc
   ${CMAKE_SOURCE_DIR}/src/common/ContextCompletion.cc
+  $<TARGET_OBJECTS:common_texttable_obj>
   $<TARGET_OBJECTS:parse_secret_objs>
   )
 target_compile_definitions(unittest_librbd PUBLIC "-DTEST_LIBRBD_INTERNALS")
@@ -76,8 +76,8 @@ target_link_libraries(unittest_librbd
 
 add_executable(ceph_test_librbd
   test_main.cc
-  ${CMAKE_SOURCE_DIR}/src/common/TextTable.cc
   ${CMAKE_SOURCE_DIR}/src/common/ContextCompletion.cc
+  $<TARGET_OBJECTS:common_texttable_obj>
   $<TARGET_OBJECTS:parse_secret_objs>
   )
 target_link_libraries(ceph_test_librbd
@@ -104,7 +104,7 @@ add_executable(ceph_test_librbd_api
   test_support.cc
   test_librbd.cc
   test_main.cc
-  ${CMAKE_SOURCE_DIR}/src/common/TextTable.cc
+  $<TARGET_OBJECTS:common_texttable_obj>
   $<TARGET_OBJECTS:parse_secret_objs>
   )
 target_link_libraries(ceph_test_librbd_api
@@ -121,7 +121,7 @@ set_target_properties(ceph_test_librbd_api PROPERTIES COMPILE_FLAGS
 add_executable(ceph_test_librbd_fsx
   fsx.cc
   $<TARGET_OBJECTS:krbd_objs>
-  ${CMAKE_SOURCE_DIR}/src/common/TextTable.cc
+  $<TARGET_OBJECTS:common_texttable_obj>
   $<TARGET_OBJECTS:parse_secret_objs>
   )
 target_link_libraries(ceph_test_librbd_fsx