buildroot/package/taskd/0003-CMakeLists-use-pkg-config-uuid-detection.patch
Thomas Petazzoni 83e207d7bc taskd: fix static linking issue with libuuid/libintl
libuuid depends on libintl in specific scenarios, but since taskd wasn't
using pkg-config to detect libuuid, this dependency on libintl was not
taken into account. This commit adds a patch to taskd that uses
pkg-config to detect libuuid.

Fixes:

  http://autobuild.buildroot.net/results/cb5ea871812651025722d42508d4f37702088800/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 23:45:00 +01:00

41 lines
1.4 KiB
Diff

CMakeLists.txt: use pkg-config to detect uuid when possible
In order to take into account the libraries used by libuuid when
building statically, using pkg-config is recommended. This patch
therefore improves the CMakeLists.txt to use pkg-config to detect
libuuid when pkg-config is available.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/CMakeLists.txt
===================================================================
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,6 +6,7 @@
include (CheckFunctionExists)
include (CheckStructHasMember)
+include (FindPkgConfig)
set (HAVE_CMAKE true)
@@ -119,8 +120,16 @@
# Apple and FreeBSD include the uuid functions in their libc, rather than libuuid
check_function_exists (uuid_unparse_lower HAVE_UUID_UNPARSE_LOWER)
else (DARWIN OR FREEBSD)
- find_path (UUID_INCLUDE_DIR uuid/uuid.h)
- find_library (UUID_LIBRARY NAMES uuid)
+ if(PKG_CONFIG_FOUND)
+ pkg_check_modules(PC_UUID uuid)
+ if(PC_UUID_FOUND)
+ set (UUID_INCLUDE_DIR ${PC_UUID_INCLUDE_DIRS})
+ set (UUID_LIBRARY ${PC_UUID_LIBRARIES})
+ endif(PC_UUID_FOUND)
+ else(PKG_CONFIG_FOUND)
+ find_path (UUID_INCLUDE_DIR uuid/uuid.h)
+ find_library (UUID_LIBRARY NAMES uuid)
+ endif(PKG_CONFIG_FOUND)
if (UUID_INCLUDE_DIR AND UUID_LIBRARY)
set (TASKD_INCLUDE_DIRS ${TASKD_INCLUDE_DIRS} ${UUID_INCLUDE_DIR})
set (TASKD_LIBRARIES ${TASKD_LIBRARIES} ${UUID_LIBRARY})