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)