Try finding OpenSSL using pkg-config first on macOS. (#17250)
This is required to work correctly in Homebrew, as building within Homebrew does not allow using Homebrew commands, but does generally provide a properly working pkg-config setup.
Austin S. Hemmelgarn committed
Mar 26, 2024 at 07:05 UTC
67549f462669d7e9dfdd85a1e0fdd99e3799e72e
1 file changed
+15
-25
CMakeLists.txt
+15
-25
@@ -479,40 +479,30 @@ endif()
479
480
# openssl/crypto
481
set(ENABLE_OPENSSL True)
482
-if(NOT MACOS)
483
- pkg_check_modules(CRYPTO libcrypto)
484
- pkg_check_modules(OPENSSL REQUIRED openssl)
485
-else()
486
- # I think this is moot because we can only use openssl 3.x
487
- execute_process(COMMAND
488
- brew --prefix --installed openssl
489
- RESULT_VARIABLE BREW_OPENSSL
490
- OUTPUT_VARIABLE BREW_OPENSSL_PREFIX
491
- OUTPUT_STRIP_TRAILING_WHITESPACE)
492
-
493
- if((BREW_OPENSSL NOT EQUAL 0) OR (NOT EXISTS "${BREW_OPENSSL_PREFIX}"))
482
+pkg_check_modules(OPENSSL openssl)
483
+
484
+if(NOT OPENSSL_FOUND)
485
+ if(MACOS)
486
execute_process(COMMAND
495
- brew --prefix --installed openssl@3
487
+ brew --prefix --installed openssl
488
RESULT_VARIABLE BREW_OPENSSL
489
OUTPUT_VARIABLE BREW_OPENSSL_PREFIX
490
OUTPUT_STRIP_TRAILING_WHITESPACE)
491
492
if((BREW_OPENSSL NOT EQUAL 0) OR (NOT EXISTS "${BREW_OPENSSL_PREFIX}"))
501
- execute_process(COMMAND
502
- brew --prefix --installed openssl@1.1
503
- RESULT_VARIABLE BREW_OPENSSL
504
- OUTPUT_VARIABLE BREW_OPENSSL_PREFIX
505
- OUTPUT_STRIP_TRAILING_WHITESPACE)
506
-
507
- if((BREW_OPENSSL NOT EQUAL 0) OR (NOT EXISTS "${BREW_OPENSSL_PREFIX}"))
508
- message(FATAL_ERROR "Could not find openssl prefix with brew")
509
- endif()
493
+ message(FATAL_ERROR "OpenSSL (or LibreSSL) is required for building Netdata, but could not be found.")
494
endif()
495
+
496
+ set(OPENSSL_INCLUDE_DIRS "${BREW_OPENSSL_PREFIX}/include")
497
+ set(OPENSSL_CFLAGS_OTHER "")
498
+ set(OPENSSL_LDFLAGS "-L${BREW_OPENSSL_PREFIX}/lib;-lssl;-lcrypto")
499
+ else()
500
+ message(FATAL_ERROR "OpenSSL (or LibreSSL) is required for building Netdata, but could not be found.")
501
endif()
502
+endif()
503
513
- set(OPENSSL_INCLUDE_DIRS "${BREW_OPENSSL_PREFIX}/include")
514
- set(OPENSSL_CFLAGS_OTHER "")
515
- set(OPENSSL_LDFLAGS "-L${BREW_OPENSSL_PREFIX}/lib;-lssl;-lcrypto")
504
+if(NOT MACOS)
505
+ pkg_check_modules(CRYPTO libcrypto)
506
endif()
507
508
#