diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-06-17 18:04:02 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-02-26 12:16:50 +0100 |
commit | c1f90390d94d99a32cb746a00dc7cef99f9ea6b0 (patch) | |
tree | 589d4012a0799b2bd832101b15e67fa50a936929 /cmake | |
parent | c7034976554b2a4e250f551d609b01bafbad8f51 (diff) |
Build: Improve automatic finding of libraries on mac
(cherry picked from commit 091e71502c58b824e1b04517907a2a449f3b168f)
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/macros/FindReadline.cmake | 15 | ||||
-rw-r--r-- | cmake/platform/unix/settings.cmake | 14 |
2 files changed, 25 insertions, 4 deletions
diff --git a/cmake/macros/FindReadline.cmake b/cmake/macros/FindReadline.cmake index 3942a8ba8e5..81743b27073 100644 --- a/cmake/macros/FindReadline.cmake +++ b/cmake/macros/FindReadline.cmake @@ -45,12 +45,20 @@ Hints Set ``READLINE_ROOT_DIR`` to the root directory of Readline installation. #]=======================================================================] +set(_READLINE_ROOT_HINTS + ${READLINE_ROOT_DIR} + ENV READLINE_ROOT_DIR +) + +if(HOMEBREW_PREFIX) + list(APPEND _READLINE_ROOT_HINTS "${HOMEBREW_PREFIX}/opt/readline") +endif() + find_path(READLINE_INCLUDE_DIR NAMES readline/readline.h HINTS - ${READLINE_ROOT_DIR} - ENV READLINE_ROOT_DIR + ${_READLINE_ROOT_HINTS} PATH_SUFFIXES include) @@ -58,8 +66,7 @@ find_library(READLINE_LIBRARY NAMES readline HINTS - ${READLINE_ROOT_DIR} - ENV READLINE_ROOT_DIR + ${_READLINE_ROOT_HINTS} PATH_SUFFIXES lib) diff --git a/cmake/platform/unix/settings.cmake b/cmake/platform/unix/settings.cmake index b6bef24ae96..846742906b0 100644 --- a/cmake/platform/unix/settings.cmake +++ b/cmake/platform/unix/settings.cmake @@ -31,6 +31,20 @@ else() message(STATUS "UNIX: Using default system linker") endif() +if(APPLE) + find_program(HOMEBREW_EXECUTABLE brew) + + if (HOMEBREW_EXECUTABLE) + # setup homebrew paths + message(STATUS "Homebrew found at ${HOMEBREW_EXECUTABLE}") + execute_process(COMMAND ${HOMEBREW_EXECUTABLE} config OUTPUT_VARIABLE HOMEBREW_STATUS_STR) + string(REGEX MATCH "HOMEBREW_PREFIX: ([^\n]*)" HOMEBREW_STATUS_STR ${HOMEBREW_STATUS_STR}) + set(HOMEBREW_PREFIX ${CMAKE_MATCH_1}) + message(STATUS "Homebrew installation found at ${HOMEBREW_PREFIX}") + set(CMAKE_PREFIX_PATH "${HOMEBREW_PREFIX}") + endif() +endif() + message(STATUS "UNIX: Detected compiler: ${CMAKE_C_COMPILER}") if(CMAKE_C_COMPILER MATCHES "gcc" OR CMAKE_C_COMPILER_ID STREQUAL "GNU") include(${CMAKE_SOURCE_DIR}/cmake/compiler/gcc/settings.cmake) |