# SNAPPY_LIBRARIES - List of libraries when using snappy.
 # SNAPPY_FOUND - True if snappy found.
 
-find_package(PkgConfig)
+find_package(PkgConfig QUIET REQUIRED)
 pkg_search_module(PC_snappy
-  QUIET snappy)
+  snappy QUIET)
 
 find_path(SNAPPY_INCLUDE_DIR
   NAMES snappy.h
     ${SNAPPY_ROOT_DIR}/lib)
 
 include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(snappy DEFAULT_MSG SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR)
+find_package_handle_standard_args(snappy
+  DEFAULT_MSG SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR)
 
 mark_as_advanced(
   SNAPPY_LIBRARIES
   SNAPPY_INCLUDE_DIR)
+
+if(snappy_FOUND AND NOT (TARGET snappy::snappy))
+  add_library(snappy::snappy UNKNOWN IMPORTED)
+  set_target_properties(snappy::snappy PROPERTIES
+    INTERFACE_INCLUDE_DIRECTORIES "${SNAPPY_INCLUDE_DIR}"
+    IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+    IMPORTED_LOCATION "${SNAPPY_LIBRARIES}")
+endif()
 
 add_library(ceph_snappy SHARED ${snappy_sources})
 target_include_directories(ceph_snappy SYSTEM PRIVATE
   "${SNAPPY_INCLUDE_DIR}")
-target_link_libraries(ceph_snappy ${SNAPPY_LIBRARIES})
+target_link_libraries(ceph_snappy snappy::snappy)
 set_target_properties(ceph_snappy PROPERTIES
   VERSION 2.0.0
   SOVERSION 2