From b670f70c895200d796bd4f9ca81905d29c5e998f Mon Sep 17 00:00:00 2001 From: Pete Gadomski Date: Fri, 28 Feb 2014 09:49:38 -0700 Subject: [PATCH] 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 --- Formula/ledger.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Formula/ledger.rb b/Formula/ledger.rb index 9ac2145d01b..cb96ae7b857 100644 --- a/Formula/ledger.rb +++ b/Formula/ledger.rb @@ -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