]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: fix dependencies on tracing headers
authorKefu Chai <kchai@redhat.com>
Sat, 28 May 2016 16:23:22 +0000 (00:23 +0800)
committerKefu Chai <kchai@redhat.com>
Wed, 1 Jun 2016 15:49:46 +0000 (23:49 +0800)
group the header dependencies by its tp .so, so the traced target can
depend on them by the name of ${name}-tp.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/CMakeLists.txt
src/librbd/CMakeLists.txt
src/tracing/CMakeLists.txt

index 793eabb28f0f4120debda7083e3b76f06e87c0a5..8996f3a04db29a64515737cee72552df99039543 100644 (file)
@@ -537,7 +537,7 @@ add_library(librados ${librados_srcs}
   $<TARGET_OBJECTS:common_util_obj>)
 add_dependencies(librados osdc)
 if(WITH_LTTNG)
-  add_dependencies(librados librados-tp)
+  add_dependencies(librados rados-tp)
 endif()
 # LINK_PRIVATE instead of PRIVATE is used to backward compatibility with cmake 2.8.11
 target_link_libraries(librados LINK_PRIVATE osdc osd os global common cls_lock_client
@@ -869,7 +869,7 @@ if(WITH_SPDK)
     ${PCIACCESS_INCLUDE_DIR})
 endif(WITH_SPDK)
 if(WITH_LTTNG)
-  add_dependencies(os objectstore-tp)
+  add_dependencies(os os-tp)
 endif()
 target_link_libraries(os kv)
 if(HAVE_LIBAIO)
index 282a469a387f325c3e1119eb360d59dc892da8d5..beb7ac2fe99712efc82d20272d52a993ead35bae 100644 (file)
@@ -65,7 +65,7 @@ set(librbd_internal_srcs
 add_library(rbd_api STATIC librbd.cc)
 add_library(rbd_internal STATIC ${librbd_internal_srcs})
 if(WITH_LTTNG)
-  add_dependencies(rbd_internal librbd-tp)
+  add_dependencies(rbd_internal rbd-tp)
 endif()
 
 add_library(librbd
index 7c246081a4740a248376a8ede8bf9795ac348c51..0b223c812a4d28486935b0372aa5aee375f04f0a 100644 (file)
@@ -18,14 +18,13 @@ foreach(tp ${tps})
     COMMENT "generating ${header} ${src}")
   set_source_files_properties(${header} ${src}
     PROPERTIES GENERATED TRUE)
-  add_custom_target(
-    ${name}-tp
-    DEPENDS ${header})
 endforeach()
 
 function(add_tracing_library name tracings version)
   foreach(tp_file ${tracings})
     get_filename_component(tp ${tp_file} NAME_WE)
+    list(APPEND hdrs
+      ${header_dir}/${tp}.h)
     list(APPEND srcs
       ${header_dir}/${tp}.h
       ${header_dir}/${tp}.c)
@@ -33,18 +32,21 @@ function(add_tracing_library name tracings version)
   add_library(${name} SHARED ${srcs})
   target_link_libraries(${name} ${LTTNG_LIBRARIES} dl)
   string(REGEX MATCH "^[0-9]+" soversion ${version})
-  string(REGEX REPLACE "^lib" "" output_name ${name})
   set_target_properties(${name} PROPERTIES
-    OUTPUT_NAME ${output_name}
+    OUTPUT_NAME ${name}
     VERSION ${version}
     SOVERSION ${soversion})
+  string(REGEX REPLACE "_tp$" "" traced ${name})
+  add_custom_target(
+    ${traced}-tp
+    DEPENDS ${hdrs})
 endfunction()
 
 set(osd_traces oprequest.tp osd.tp pg.tp)
-add_tracing_library(libosd_tp "${osd_traces}" 1.0.0)
-add_tracing_library(librados_tp librados.tp 2.0.0)
-add_tracing_library(librbd_tp librbd.tp 1.0.0)
-add_tracing_library(libos_tp objectstore.tp 1.0.0)
+add_tracing_library(osd_tp "${osd_traces}" 1.0.0)
+add_tracing_library(rados_tp librados.tp 2.0.0)
+add_tracing_library(rbd_tp librbd.tp 1.0.0)
+add_tracing_library(os_tp objectstore.tp 1.0.0)
 
-install(TARGETS librados_tp libosd_tp librbd_tp libos_tp DESTINATION lib)
+install(TARGETS rados_tp osd_tp rbd_tp os_tp DESTINATION lib)