ledger: find Homebrew Python when building --HEAD.
When building --HEAD and --with-python, CMake gets confused by multiple python installations, e.g. when both Homebrew and system Pythons exist (see https://github.com/Homebrew/homebrew/issues/10393 for one example). This patch lifts some hacks from https://github.com/Homebrew/homebrew/blob/51d054c/Library/Formula/opencv.rb to point CMake to the Homebrew Python only, if one exists and is installed. N.B. brew test ledger seems to be broken when installed --HEAD for unrelated reasons. Closes Homebrew/homebrew#27095. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>master
parent
a62f921300
commit
b670f70c89
|
@ -34,7 +34,19 @@ class Ledger < Formula
|
|||
# Support homebrew not at /usr/local. Also support Xcode-only setups:
|
||||
inreplace 'acprep', 'search_prefixes = [', "search_prefixes = ['#{HOMEBREW_PREFIX}','#{MacOS.sdk_path}/usr',"
|
||||
args = [((build.include? 'debug') ? 'debug' : 'opt'), "make", "install", "-N", "-j#{ENV.make_jobs}", "--output=build"]
|
||||
args << '--python' if build.with? 'python'
|
||||
|
||||
if build.with? 'python'
|
||||
# Per #25118, CMake does a poor job of detecting a brewed Python.
|
||||
# We need to tell CMake explicitly where our default python lives.
|
||||
# Inspired by
|
||||
# https://github.com/Homebrew/homebrew/blob/51d054c/Library/Formula/opencv.rb
|
||||
args << '--python' << '--'
|
||||
|
||||
python_prefix = `python-config --prefix`.strip
|
||||
args << "-DPYTHON_LIBRARY='#{python_prefix}/Python'"
|
||||
args << "-DPYTHON_INCLUDE_DIR='#{python_prefix}/Headers'"
|
||||
end
|
||||
|
||||
system "./acprep", "--prefix=#{prefix}", *args
|
||||
(share+'ledger').install 'python/demo.py', 'test/input/sample.dat', Dir['contrib']
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue