This is an automated email from the ASF dual-hosted git repository.

pengzheng pushed a commit to branch feature/579-automatic-dependency-deduction
in repository https://gitbox.apache.org/repos/asf/celix.git


The following commit(s) were added to 
refs/heads/feature/579-automatic-dependency-deduction by this push:
     new d1332ed9 Use macOS's native libuuid.
d1332ed9 is described below

commit d1332ed966a699092159b74d61c23442b0640cb4
Author: PengZheng <[email protected]>
AuthorDate: Fri Jul 14 23:20:55 2023 +0800

    Use macOS's native libuuid.
---
 .github/workflows/macos.yml     |  2 +-
 cmake/Modules/Findlibuuid.cmake | 52 +++++++++++++++++++++++++++--------------
 2 files changed, 35 insertions(+), 19 deletions(-)

diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index ce79db4f..ed31d944 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -57,7 +57,7 @@ jobs:
       - name: Install dependencies
         run: |
           brew update
-          brew install lcov zeromq czmq cpputest jansson rapidjson libzip 
ossp-uuid
+          brew install lcov zeromq czmq cpputest jansson rapidjson libzip
       - name: Build
         env:
           BUILD_OPTIONS: |
diff --git a/cmake/Modules/Findlibuuid.cmake b/cmake/Modules/Findlibuuid.cmake
index de2adb17..259d7a86 100644
--- a/cmake/Modules/Findlibuuid.cmake
+++ b/cmake/Modules/Findlibuuid.cmake
@@ -23,23 +23,39 @@
 #  libuuid::libuuid - Imported target for UUID
 
 find_path(UUID_INCLUDE_DIR uuid/uuid.h
-          /usr/include
-          /usr/local/include )
+        /usr/include
+        /usr/local/include )
+include(FindPackageHandleStandardArgs)
 
-find_library(UUID_LIBRARY NAMES uuid
-             PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64 
/lib/i386-linux-gnu /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu)
+if (APPLE)
+    find_package_handle_standard_args(libuuid DEFAULT_MSG
+            UUID_INCLUDE_DIR)
+
+    mark_as_advanced(UUID_INCLUDE_DIR)
+    set(UUID_INCLUDE_DIRS ${UUID_INCLUDE_DIR})
+    if (libuuid_FOUND AND NOT TARGET libuuid::libuuid)
+        add_library(libuuid::libuuid INTERFACE IMPORTED)
+        set_target_properties(libuuid::libuuid PROPERTIES
+                INTERFACE_INCLUDE_DIRECTORIES "${UUID_INCLUDE_DIR}"
+                )
+    endif ()
+else ()
+    find_library(UUID_LIBRARY NAMES uuid
+            PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64 
/lib/i386-linux-gnu /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu)
+
+    find_package_handle_standard_args(libuuid DEFAULT_MSG
+            UUID_LIBRARY UUID_INCLUDE_DIR)
+
+    mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARY)
+    set(UUID_INCLUDE_DIRS ${UUID_INCLUDE_DIR})
+    set(UUID_LIBRARIES ${UUID_LIBRARY})
+
+    if (libuuid_FOUND AND NOT TARGET libuuid::libuuid)
+        add_library(libuuid::libuuid SHARED IMPORTED)
+        set_target_properties(libuuid::libuuid PROPERTIES
+                IMPORTED_LOCATION "${UUID_LIBRARY}"
+                INTERFACE_INCLUDE_DIRECTORIES "${UUID_INCLUDE_DIR}"
+                )
+    endif ()
+endif ()
 
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(libuuid DEFAULT_MSG
-                                  UUID_LIBRARY UUID_INCLUDE_DIR)
-
-mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARY)
-set(UUID_INCLUDE_DIRS ${UUID_INCLUDE_DIR})
-set(UUID_LIBRARIES ${UUID_LIBRARY})
-if (libuuid_FOUND AND NOT TARGET libuuid::libuuid)
-    add_library(libuuid::libuuid SHARED IMPORTED)
-    set_target_properties(libuuid::libuuid PROPERTIES
-            IMPORTED_LOCATION "${UUID_LIBRARY}"
-            INTERFACE_INCLUDE_DIRECTORIES "${UUID_INCLUDE_DIR}"
-    )
-endif ()
\ No newline at end of file

Reply via email to