]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/seastar/cmake/Findyaml-cpp.cmake
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / seastar / cmake / Findyaml-cpp.cmake
index d1e135737d115202df1b6e10a069e18384d545bc..eda5eb4898b579c329f497e8a724025c8519cf3a 100644 (file)
 
 find_package (PkgConfig REQUIRED)
 
-pkg_search_module (yaml-cpp_PC yaml-cpp)
+pkg_search_module (PC_yaml-cpp QUIET yaml-cpp)
 
-find_library (yaml-cpp_LIBRARY
-  NAMES yaml-cpp
-  HINTS
-    ${yaml-cpp_PC_LIBDIR}
-    ${yaml-cpp_PC_LIBRARY_DIRS})
+find_library (yaml-cpp_LIBRARY_RELEASE
+ NAMES yaml-cpp
+ HINTS
+   ${PC_yaml-cpp_LIBDIR}
+   ${PC_yaml-cpp_LIBRARY_DIRS})
+
+find_library (yaml-cpp_LIBRARY_DEBUG
+ NAMES yaml-cppd
+ HINTS
+   ${PC_yaml-cpp_LIBDIR}
+   ${PC_yaml-cpp_LIBRARY_DIRS})
+
+include (SelectLibraryConfigurations)
+select_library_configurations (yaml-cpp)
 
 find_path (yaml-cpp_INCLUDE_DIR
   NAMES yaml-cpp/yaml.h
   PATH_SUFFIXES yaml-cpp
   HINTS
-    ${yaml-cpp_PC_INCLUDEDIR}
-    ${yaml-cpp_PC_INCLUDE_DIRS})
+    ${PC_yaml-cpp_INCLUDEDIR}
+    ${PC_yaml-cpp_INCLUDE_DIRS})
 
 mark_as_advanced (
-  yaml-cpp_LIBRARY
+  yaml-cpp_LIBRARY_RELEASE
+  yaml-cpp_LIBRARY_DEBUG
   yaml-cpp_INCLUDE_DIR)
 
 include (FindPackageHandleStandardArgs)
@@ -47,16 +57,29 @@ find_package_handle_standard_args (yaml-cpp
   REQUIRED_VARS
     yaml-cpp_LIBRARY
     yaml-cpp_INCLUDE_DIR
-  VERSION_VAR yaml-cpp_PC_VERSION)
-
-set (yaml-cpp_LIBRARIES ${yaml-cpp_LIBRARY})
-set (yaml-cpp_INCLUDE_DIRS ${yaml-cpp_INCLUDE_DIR})
+  VERSION_VAR yaml-cpp_VERSION)
 
-if (yaml-cpp_FOUND AND NOT (TARGET yaml-cpp::yaml-cpp))
-  add_library (yaml-cpp::yaml-cpp UNKNOWN IMPORTED)
+if (yaml-cpp_FOUND)
+  set (yaml-cpp_LIBRARIES ${yaml-cpp_LIBRARY})
+  set (yaml-cpp_INCLUDE_DIRS ${yaml-cpp_INCLUDE_DIR})
+  if (NOT (TARGET yaml-cpp::yaml-cpp))
+    add_library (yaml-cpp::yaml-cpp UNKNOWN IMPORTED)
 
-  set_target_properties (yaml-cpp::yaml-cpp
-    PROPERTIES
-      IMPORTED_LOCATION ${yaml-cpp_LIBRARY}
-      INTERFACE_INCLUDE_DIRECTORIES ${yaml-cpp_INCLUDE_DIRS})
+    set_target_properties (yaml-cpp::yaml-cpp
+      PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES ${yaml-cpp_INCLUDE_DIRS})
+    if (EXISTS "${yaml-cpp_LIBRARY}")
+      set_target_properties (yaml-cpp::yaml-cpp
+        PROPERTIES
+          IMPORTED_LOCATION "${yaml-cpp_LIBRARY}")
+    endif ()
+    foreach (build "RELEASE" "DEBUG")
+      if (yaml-cpp_LIBRARY_${build})
+        set_property (TARGET yaml-cpp::yaml-cpp APPEND PROPERTY
+          IMPORTED_CONFIGURATIONS "${build}")
+        set_target_properties (yaml-cpp::yaml-cpp PROPERTIES
+          IMPORTED_LOCATION_${build} "${yaml-cpp_LIBRARY_${build}}")
+      endif ()
+    endforeach ()
+  endif ()
 endif ()