You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-libs/davix/files/davix-0.6.7-uuid.patch

67 lines
1.8 KiB

---
cmake/modules/Finduuid.cmake | 48 +++++++++++++++++-------------------
1 file changed, 22 insertions(+), 26 deletions(-)
diff --git a/cmake/modules/Finduuid.cmake b/cmake/modules/Finduuid.cmake
index 2f97a1f..e2c7d13 100644
--- a/cmake/modules/Finduuid.cmake
+++ b/cmake/modules/Finduuid.cmake
@@ -1,32 +1,28 @@
-# Try to find uuid
-# Once done, this will define
-#
-# UUID_FOUND - system has uuid
-# UUID_INCLUDE_DIRS - uuid include directories
-# UUID_LIBRARIES - libraries needed to use uuid
-
+include(CheckCXXSymbolExists)
+include(CheckLibraryExists)
include(FindPackageHandleStandardArgs)
-if(UUID_INCLUDE_DIRS AND UUID_LIBRARIES)
- set(UUID_FIND_QUIETLY TRUE)
-else()
- find_path(
- UUID_INCLUDE_DIR
- NAMES uuid.h
- HINTS ${UUID_ROOT_DIR}
- PATH_SUFFIXES include uuid)
-
- find_library(
- UUID_LIBRARY
- NAMES uuid
- HINTS ${UUID_ROOT_DIR}
- PATH_SUFFIXES ${LIBRARY_PATH_PREFIX})
+if(NOT UUID_INCLUDE_DIR)
+ find_path(UUID_INCLUDE_DIR uuid/uuid.h)
+endif()
+if(EXISTS UUID_INCLUDE_DIR)
set(UUID_INCLUDE_DIRS ${UUID_INCLUDE_DIR})
- set(UUID_LIBRARIES ${UUID_LIBRARY})
-
- find_package_handle_standard_args(
- uuid DEFAULT_MSG UUID_LIBRARY UUID_INCLUDE_DIR)
+ set(CMAKE_REQUIRED_INCLUDES ${UUID_INCLUDE_DIRS})
+ check_cxx_symbol_exists("uuid_generate_random" "uuid/uuid.h" _uuid_header_only)
+endif()
- mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARY)
+if(NOT _uuid_header_only AND NOT UUID_LIBRARY)
+ check_library_exists("uuid" "uuid_generate_random" "" _have_libuuid)
+ if(_have_libuuid)
+ set(UUID_LIBRARY "uuid")
+ set(UUID_LIBRARIES ${UUID_LIBRARY})
+ endif()
endif()
+
+unset(CMAKE_REQUIRED_INCLUDES)
+unset(_uuid_header_only)
+unset(_have_libuuid)
+
+find_package_handle_standard_args(uuid DEFAULT_MSG UUID_INCLUDE_DIR)
+mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARY)
--
2.17.0