72 lines
1.9 KiB
Ruby
72 lines
1.9 KiB
Ruby
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
|
|
homepage 'http://www.cmake.org/'
|
|
url 'http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz'
|
|
sha1 'a74dfc3e0a0d7f857ac5dda03bb99ebf07676da1'
|
|
|
|
bottle do
|
|
version 3
|
|
sha1 '64e1a488bc669f7676c99874b8496ac147d1bc70' => :mountainlion
|
|
sha1 'bdfb5fcd6743d65f6cfe00b314f9d3f1049e902b' => :lion
|
|
sha1 '3a77fc17a7b1d3cceabddcca5c126c6b911c2f90' => :snowleopard
|
|
end
|
|
|
|
depends_on NoExpatFramework.new
|
|
|
|
def options
|
|
[["--enable-ninja", "Enable Ninja build system support"]]
|
|
end
|
|
|
|
def patches
|
|
[
|
|
# Correct FindPkgConfig found variable. Remove for CMake 2.8.9.
|
|
"https://github.com/Kitware/CMake/commit/3ea850.patch",
|
|
# Workaround DeployQt4 issue. Remove for CMake 2.8.9.
|
|
"https://github.com/Kitware/CMake/commit/374b9b.patch",
|
|
# Protect the default value of CMAKE_FIND_FRAMEWORK so that it can be
|
|
# overridden from the command line. Remove for CMake 2.8.9.
|
|
"https://github.com/Kitware/CMake/commit/8b2fb3.patch"
|
|
]
|
|
end
|
|
|
|
def install
|
|
args = %W[
|
|
--prefix=#{prefix}
|
|
--system-libs
|
|
--no-system-libarchive
|
|
--datadir=/share/cmake
|
|
--docdir=/share/doc/cmake
|
|
--mandir=/share/man
|
|
]
|
|
|
|
if ARGV.include? "--enable-ninja"
|
|
args << "--"
|
|
args << "-DCMAKE_ENABLE_NINJA=1"
|
|
end
|
|
|
|
system "./bootstrap", *args
|
|
system "make"
|
|
system "make install"
|
|
end
|
|
|
|
def test
|
|
system "#{bin}/cmake", "-E", "echo", "testing"
|
|
end
|
|
end
|