File cap-ng-link.patch of Package icecream-monitor

commit fd2f9df6e1b40e15451d4e1fc576d374d580cc8f
Author: Luboš Luňák <l.lunak@suse.cz>
Date:   Mon Apr 8 11:45:43 2013 +0200

    if icecc.a needs -lcap-ng, dig it somehow out of the pkgconfig data

diff --git a/cmake/modules/FindIcecream.cmake b/cmake/modules/FindIcecream.cmake
index fb2e656..b0f1315 100644
--- a/cmake/modules/FindIcecream.cmake
+++ b/cmake/modules/FindIcecream.cmake
@@ -11,11 +11,25 @@ if (LIBICECREAM_INCLUDE_DIR AND LIBICECREAM_LIBRARIES)
   set(LIBICECREAM_FOUND TRUE)
 
 else (LIBICECREAM_INCLUDE_DIR AND LIBICECREAM_LIBRARIES)
+
+  set( LIBICECREAM_LIB_EXTRA )
+
   if(NOT WIN32)
     # use pkg-config to get the directories and then use these values
     # in the FIND_PATH() and FIND_LIBRARY() calls
     find_package(PkgConfig)
     pkg_check_modules(PC_ICECC icecc)
+    # The icecream lib may optionally need linking to -lcap-ng, so dig it out
+    # of pkg-config data.
+    # Somewhat hackish, but I can't find a simpler way to do this with CMake.
+    foreach(lib ${PC_ICECC_STATIC_LIBRARIES})
+        message(STATUS "A ${lib}")
+      if(NOT ${lib} STREQUAL "icecc")
+        list(APPEND LIBICECREAM_LIB_EXTRA "-l${lib}")
+        message(STATUS "B ${lib}")
+      endif(NOT ${lib} STREQUAL "icecc")
+    endforeach(lib ${PC_ICECC_STATIC_LIBRARIES})
+        message(STATUS "C ${LIBICECREAM_LIB_EXTRA}")
   endif(NOT WIN32)
 
   find_path(LIBICECREAM_INCLUDE_DIR icecc/comm.h
@@ -32,7 +46,7 @@ else (LIBICECREAM_INCLUDE_DIR AND LIBICECREAM_LIBRARIES)
     /opt/icecream/lib
   )
 
-  set( LIBICECREAM_LIBRARIES ${LIBICECREAM_LIBRARY} CACHE INTERNAL "The libraries for libicecream" )
+  set( LIBICECREAM_LIBRARIES ${LIBICECREAM_LIBRARY} ${LIBICECREAM_LIB_EXTRA} CACHE INTERNAL "The libraries for libicecream" )
 
   if (LIBICECREAM_INCLUDE_DIR AND LIBICECREAM_LIBRARIES)
      set( LIBICECREAM_FOUND TRUE)
openSUSE Build Service is sponsored by