From cdaafeb4b6a3264214b095ee470fe93e8c4dc113 Mon Sep 17 00:00:00 2001 From: seelabs Date: Tue, 18 Oct 2016 14:18:41 -0400 Subject: [PATCH] Improve openssl directory finding --- Builds/CMake/CMakeFuncs.cmake | 11 +++++++---- SConstruct | 12 +++++++----- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Builds/CMake/CMakeFuncs.cmake b/Builds/CMake/CMakeFuncs.cmake index 630fac488..c6beae6bf 100644 --- a/Builds/CMake/CMakeFuncs.cmake +++ b/Builds/CMake/CMakeFuncs.cmake @@ -294,10 +294,13 @@ macro(find_pthread) endmacro() macro(find_openssl openssl_min) - if (APPLE) - # swd TBD fixme - file(GLOB OPENSSL_ROOT_DIR /usr/local/Cellar/openssl/*) - # set(OPENSSL_ROOT_DIR /usr/local/Cellar/openssl) + if (APPLE AND NOT DEFINED ENV{OPENSSL_ROOT_DIR}) + find_program(HOMEBREW brew) + if (NOT HOMEBREW STREQUAL "HOMEBREW-NOTFOUND") + execute_process(COMMAND brew --prefix openssl + OUTPUT_VARIABLE OPENSSL_ROOT_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() endif() if (WIN32) diff --git a/SConstruct b/SConstruct index 20a4d5c29..d05667a89 100644 --- a/SConstruct +++ b/SConstruct @@ -385,11 +385,13 @@ def config_base(env): except KeyError: pass elif Beast.system.osx: - OSX_OPENSSL_ROOT = '/usr/local/Cellar/openssl/' - most_recent = sorted(os.listdir(OSX_OPENSSL_ROOT))[-1] - openssl = os.path.join(OSX_OPENSSL_ROOT, most_recent) - env.Prepend(CPPPATH='%s/include' % openssl) - env.Prepend(LIBPATH=['%s/lib' % openssl]) + try: + openssl = subprocess.check_output(['brew', '--prefix','openssl'], + stderr=subprocess.STDOUT).strip() + env.Prepend(CPPPATH='%s/include' % openssl) + env.Prepend(LIBPATH=['%s/lib' % openssl]) + except: + pass if not 'vcxproj' in COMMAND_LINE_TARGETS: env.Append(CPPDEFINES=['NO_LOG_UNHANDLED_EXCEPTIONS'])