diff options
author | Austin S. Hemmelgarn <austin@netdata.cloud> | 2024-03-26 07:05:33 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-26 07:05:33 -0400 |
commit | 67549f462669d7e9dfdd85a1e0fdd99e3799e72e (patch) | |
tree | 0d4add7bf0f971bd4822271ae684d49e486eaf35 /CMakeLists.txt | |
parent | 0cd6d0efa52a145d519610029b3ab701bb1bce83 (diff) |
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.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 155313a7ab..5b5e80a1a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -479,40 +479,30 @@ endif() # openssl/crypto set(ENABLE_OPENSSL True) -if(NOT MACOS) - pkg_check_modules(CRYPTO libcrypto) - pkg_check_modules(OPENSSL REQUIRED openssl) -else() - # I think this is moot because we can only use openssl 3.x - execute_process(COMMAND - brew --prefix --installed openssl - RESULT_VARIABLE BREW_OPENSSL - OUTPUT_VARIABLE BREW_OPENSSL_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) - - if((BREW_OPENSSL NOT EQUAL 0) OR (NOT EXISTS "${BREW_OPENSSL_PREFIX}")) +pkg_check_modules(OPENSSL openssl) + +if(NOT OPENSSL_FOUND) + if(MACOS) execute_process(COMMAND - brew --prefix --installed openssl@3 + brew --prefix --installed openssl RESULT_VARIABLE BREW_OPENSSL OUTPUT_VARIABLE BREW_OPENSSL_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE) if((BREW_OPENSSL NOT EQUAL 0) OR (NOT EXISTS "${BREW_OPENSSL_PREFIX}")) - execute_process(COMMAND - brew --prefix --installed openssl@1.1 - RESULT_VARIABLE BREW_OPENSSL - OUTPUT_VARIABLE BREW_OPENSSL_PREFIX - OUTPUT_STRIP_TRAILING_WHITESPACE) - - if((BREW_OPENSSL NOT EQUAL 0) OR (NOT EXISTS "${BREW_OPENSSL_PREFIX}")) - message(FATAL_ERROR "Could not find openssl prefix with brew") - endif() + message(FATAL_ERROR "OpenSSL (or LibreSSL) is required for building Netdata, but could not be found.") endif() + + set(OPENSSL_INCLUDE_DIRS "${BREW_OPENSSL_PREFIX}/include") + set(OPENSSL_CFLAGS_OTHER "") + set(OPENSSL_LDFLAGS "-L${BREW_OPENSSL_PREFIX}/lib;-lssl;-lcrypto") + else() + message(FATAL_ERROR "OpenSSL (or LibreSSL) is required for building Netdata, but could not be found.") endif() +endif() - set(OPENSSL_INCLUDE_DIRS "${BREW_OPENSSL_PREFIX}/include") - set(OPENSSL_CFLAGS_OTHER "") - set(OPENSSL_LDFLAGS "-L${BREW_OPENSSL_PREFIX}/lib;-lssl;-lcrypto") +if(NOT MACOS) + pkg_check_modules(CRYPTO libcrypto) endif() # |