diff options
author | Austin S. Hemmelgarn <austin@netdata.cloud> | 2024-03-26 07:05:33 -0400 |
---|---|---|
committer | Austin S. Hemmelgarn <ahferroin7@gmail.com> | 2024-03-27 09:30:48 -0400 |
commit | e526d03f756a4251ac6ed267a77e942a4dfc62a6 (patch) | |
tree | acce460a552c396d0d2e6760ccc2513f5d80680b | |
parent | 2ef91a877c5c9ee449c7be684e35a27a54f46d25 (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.
(cherry picked from commit 67549f462669d7e9dfdd85a1e0fdd99e3799e72e)
-rw-r--r-- | CMakeLists.txt | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 026f248a9e..9b8b938382 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() # |