require 'formula' class Symphony < Formula url 'http://www.coin-or.org/download/source/SYMPHONY/SYMPHONY-5.3.3.tgz' homepage 'http://www.coin-or.org/projects/SYMPHONY.xml' md5 '8c34f9fa49ebff325b984408ff1f92fc' def options [ ["--enable-openmp", "Enable openmp support"], ["--with-gmpl", "Add in GNU Modeling Lang. support via GLPK"] ] end def install args = ["--disable-debug", "--disable-dependency-tracking", "--enable-shared=no", # can't get shared libs to work "--enable-static-executable", "--prefix=#{prefix}"] if ARGV.include? "--with-gmpl" # Symphony uses a patched version of GLPK for reading MPL files. # Use a private version rather than require the Homebrew version of GLPK. Dir.chdir 'ThirdParty/Glpk' do system "./get.Glpk" end dir_glpk = Pathname.getwd + 'ThirdParty/Glpk/glpk/src' ENV.append "CPPFLAGS", "-I#{dir_glpk}" ENV.append "CDEFS", "-DUSE_GLPMPL" args << "--with-gmpl" end if ARGV.include? "--enable-openmp" inreplace 'SYMPHONY/config', /^SYM_COMPILE_IN_LP = TRUE/, "SYM_COMPILE_IN_LP = FALSE" args << "--enable-openmp" end system "./configure", *args system "make" system "make install" end end