CMake: use a requirement to look for expat.framework
This commit is contained in:
parent
c38c31ab89
commit
9ddbf906c0
1 changed files with 19 additions and 11 deletions
|
@ -1,5 +1,21 @@
|
|||
require 'formula'
|
||||
|
||||
class NoExpatFramework < Requirement
|
||||
def message; <<-EOS.undent
|
||||
Detected /Library/Frameworks/expat.framework
|
||||
|
||||
This will be picked up by CMake's build system and likely cause the
|
||||
build to fail, trying to link to a 32-bit version of expat.
|
||||
|
||||
You may need to move this file out of the way to compile CMake.
|
||||
EOS
|
||||
end
|
||||
def satisfied?
|
||||
not File.exist? "/Library/Frameworks/expat.framework"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
class Cmake < Formula
|
||||
url 'http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz'
|
||||
md5 'ba74b22c788a0c8547976b880cd02b17'
|
||||
|
@ -10,22 +26,14 @@ class Cmake < Formula
|
|||
sha1 '4d25a7ca3f41750d957fe1cfd53ecb37c713efad' => :snowleopard
|
||||
end
|
||||
|
||||
depends_on NoExpatFramework.new
|
||||
|
||||
# Correct FindPkgConfig found variable. Remove for CMake 2.8.9.
|
||||
def patches
|
||||
# Correct FindPkgConfig found variable. Remove for CMake 2.8.9.
|
||||
"https://github.com/Kitware/CMake/commit/3ea850.patch"
|
||||
end
|
||||
|
||||
def install
|
||||
# A framework-installed expat will be detected and mess things up.
|
||||
if File.exist? "/Library/Frameworks/expat.framework"
|
||||
opoo "/Library/Frameworks/expat.framework detected"
|
||||
puts <<-EOS.undent
|
||||
This will be picked up by CMake's build system and likey cause the
|
||||
build to fail, trying to link to a 32-bit version of expat.
|
||||
You may need to move this file out of the way for this brew to work.
|
||||
EOS
|
||||
end
|
||||
|
||||
system "./bootstrap", "--prefix=#{prefix}",
|
||||
"--system-libs",
|
||||
"--no-system-libarchive",
|
||||
|
|
Loading…
Reference in a new issue