homebrew-core/Formula/ibex.rb

49 lines
1.6 KiB
Ruby

class Ibex < Formula
desc "C++ library for constraint processing over real numbers."
homepage "http://www.ibex-lib.org/"
url "http://www.ibex-lib.org/sites/default/files/ibex-2.1.16.tar.gz"
sha256 "d92ff32f14d27ad7b390ae693beb311b58cf6babccac85bbdaa5f5d0b8648845"
bottle do
cellar :any
sha256 "21744850c087156a1ced058b7c4ca6bc8521d0f29b97929b211f544f9284e3c9" => :el_capitan
sha256 "8f3820e87fea2799f4789bf956803dadab7789e2c51c29567e339db4e08473b7" => :yosemite
sha256 "51288d9af477d65a26f8f37bee74e07913df0e77be6bbc979758a8486a1d6fd3" => :mavericks
sha256 "41327b6a0da9b8b2ed888c3c2c33d5f6ff061ea13eceb4b9e8b6e660049d624d" => :mountain_lion
end
option "with-java", "Build Java bindings for Choco solver."
depends_on :java => ["1.8+", :optional]
depends_on "bison" => :build
depends_on "flex" => :build
depends_on "pkg-config" => :build
def install
args = ["--prefix=#{prefix}"]
if build.with? "java"
args << "--with-jni"
else
args << "--enable-shared"
end
system "./waf", "configure", *args
system "./waf", "install"
cd "examples" do
cxxflags = "-frounding-math -ffloat-store -I#{include} -I#{include}/ibex"
libflags = "-L#{lib} -libex -lprim -lClp -lCoinUtils -lm"
system "make", "defaultsolver", "LIBS=#{libflags}", "CXXFLAGS=#{cxxflags}"
end
pkgshare.install %w[examples benchs]
end
test do
cp_r "#{pkgshare}/examples/.", testpath
cp "#{pkgshare}/benchs/cyclohexan3D.bch", testpath
system "./defaultsolver", "cyclohexan3D.bch", "1e-05", "10"
end
end