]> granicus.if.org Git - libevent/commitdiff
cmake: find openssl prefix via brew
authorAzat Khuzhin <azat@libevent.org>
Sat, 31 Oct 2020 22:39:02 +0000 (01:39 +0300)
committerAzat Khuzhin <azat@libevent.org>
Sun, 1 Nov 2020 22:14:58 +0000 (01:14 +0300)
CMakeLists.txt

index 0b1888615009be37c759bd8777e717ae9e01379a..6d7da58c47495d106e49e60a58b5df1e0bebe373 100644 (file)
@@ -238,6 +238,11 @@ else()
     message(FATAL_ERROR "${EVENT_LIBRARY_TYPE} is not supported")
 endif()
 
+# brew support
+if (APPLE)
+    find_program(BREW brew)
+endif()
+
 if (${MSVC})
     set(msvc_static_runtime OFF)
     if ("${EVENT_LIBRARY_TYPE}" STREQUAL "STATIC")
@@ -881,6 +886,20 @@ if(EVENT__HAVE_EVENT_PORTS)
 endif()
 
 if (NOT EVENT__DISABLE_OPENSSL)
+    # only if OPENSSL_ROOT_DIR is not set yet
+    if (BREW AND NOT OPENSSL_ROOT_DIR AND NOT "$ENV{OPENSSL_ROOT_DIR}")
+        execute_process(COMMAND ${BREW} --prefix openssl
+            OUTPUT_VARIABLE BREW_OPENSSL_PREFIX
+            RESULT_VARIABLE BREW_OPENSSL_RESULT
+            ERROR_QUIET
+            OUTPUT_STRIP_TRAILING_WHITESPACE
+        )
+        if (BREW_OPENSSL_RESULT EQUAL 0)
+            message(STATUS "Set OPENSSL_ROOT_DIR=${BREW_OPENSSL_PREFIX} (from brew)")
+            set(OPENSSL_ROOT_DIR "${BREW_OPENSSL_PREFIX}" CACHE PATH "")
+        endif()
+    endif()
+
     find_package(OpenSSL REQUIRED)
 
     set(EVENT__HAVE_OPENSSL 1)