
* Add new package: davix * Add list_url * Remove extra spaces, add list_depth and specify dependency type
67 lines
1.8 KiB
Diff
67 lines
1.8 KiB
Diff
---
|
|
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
|
|
|