Bug 795
- Improved detection of uuid library, and the uuid_unparse_lower function. Signed-off-by: Paul Beckingham <paul@beckingham.net>
This commit is contained in:
committed by
Paul Beckingham
parent
9ceae7c5c2
commit
f5e155e54d
@@ -11,6 +11,18 @@ SET (TASK_MAN5DIR share/man/man5 CACHE STRING "Installation directory for man pa
|
||||
SET (TASK_DOCDIR share/doc/task CACHE STRING "Installation directory for doc files")
|
||||
SET (TASK_BINDIR bin CACHE STRING "Installation directory for the binary")
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
set (LINUX true)
|
||||
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
set (DARWIN true)
|
||||
elseif (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
set (FREEBSD true)
|
||||
elseif (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
set (SOLARIS true)
|
||||
else (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
set (UNKNOWN true)
|
||||
endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
|
||||
message ("-- Looking for SHA1 references")
|
||||
if (EXISTS .git/index)
|
||||
set (HAVE_COMMIT true)
|
||||
@@ -51,31 +63,32 @@ endif (LUA51_FOUND)
|
||||
check_function_exists (random HAVE_RANDOM)
|
||||
check_function_exists (srandom HAVE_SRANDOM)
|
||||
|
||||
# Some systems include uuid automatically (OS X), others need the includes/library
|
||||
check_function_exists (uuid_unparse_lower HAVE_UUID)
|
||||
if (NOT HAVE_UUID)
|
||||
message ("-- Looking for libuuid")
|
||||
message ("-- Looking for libuuid")
|
||||
if (DARWIN)
|
||||
# Apple includes the uuid functions in their libc, rather than libuuid
|
||||
set (HAVE_UUID true)
|
||||
check_function_exists (uuid_unparse_lower HAVE_UUID_UNPARSE_LOWER)
|
||||
else (DARWIN)
|
||||
find_path (UUID_INCLUDE_DIR uuid/uuid.h)
|
||||
find_library (UUID_LIBRARY NAMES uuid)
|
||||
if (UUID_INCLUDE_DIR AND UUID_LIBRARY)
|
||||
message ("-- Found libuuid: ${UUID_LIBRARY}")
|
||||
set (HAVE_UUID true)
|
||||
set (TASK_INCLUDE_DIRS ${TASK_INCLUDE_DIRS} ${UUID_INCLUDE_DIR})
|
||||
set (TASK_LIBRARIES ${TASK_LIBRARIES} ${UUID_LIBRARY})
|
||||
set (TASK_LIBRARIES ${TASK_LIBRARIES} ${UUID_LIBRARY})
|
||||
# Look for uuid_unparse_lower
|
||||
set (CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${UUID_INCLUDE_DIR})
|
||||
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${UUID_LIBRARY})
|
||||
check_function_exists (uuid_unparse_lower HAVE_UUID_UNPARSE_LOWER)
|
||||
endif (UUID_INCLUDE_DIR AND UUID_LIBRARY)
|
||||
endif (NOT HAVE_UUID)
|
||||
endif (DARWIN)
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
set (LINUX true)
|
||||
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
set (DARWIN true)
|
||||
elseif (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
set (FREEBSD true)
|
||||
elseif (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
set (SOLARIS true)
|
||||
else (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
set (UNKNOWN true)
|
||||
endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
if (HAVE_UUID AND HAVE_UUID_UNPARSE_LOWER)
|
||||
message ("-- Found libuuid")
|
||||
elseif (HAVE_UUID AND NOT HAVE_UUID_UNPARSE_LOWER)
|
||||
message ("-- Found libuuid, using internal uuid_unparse_lower")
|
||||
else (HAVE_UUID AND HAVE_UUID_UNPARSE_LOWER)
|
||||
message ("-- libuuid not found, using internal uuid")
|
||||
endif (HAVE_UUID AND HAVE_UUID_UNPARSE_LOWER)
|
||||
|
||||
message ("-- Configuring cmake.h")
|
||||
configure_file (
|
||||
|
||||
Reference in New Issue
Block a user