@cryptotaxi247 / netdata-1 / commits / 67549f462

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 #