aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/soci.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/Library/Formula/soci.rb b/Library/Formula/soci.rb
new file mode 100644
index 000000000..252e611cd
--- /dev/null
+++ b/Library/Formula/soci.rb
@@ -0,0 +1,39 @@
+require 'formula'
+
+class Soci < Formula
+ homepage 'http://soci.sourceforge.net/'
+ url 'http://download.sourceforge.net/project/soci/soci/soci-3.1.0/soci-3.1.0.zip'
+ md5 '6ffac090b996bc34aedf4a29adf4595c'
+
+ depends_on 'cmake' => :build
+ depends_on 'boost' => :build if build.include? 'with-boost'
+
+ option 'with-oracle', 'Enable Oracle support.'
+ option 'with-boost', 'Enable boost support.'
+ option 'with-mysql', 'Enable MySQL support.'
+ option 'with-odbc', 'Enable ODBC support.'
+ option 'with-pg', 'Enable PostgreSQL support.'
+
+ def translate a
+ if a == "pg" then "postgresql" else a end
+ end
+
+ fails_with :clang do
+ build 421
+ cause "Template oddities"
+ end
+
+ def install
+ args = std_cmake_args + %w{.. -DWITH_SQLITE3:BOOL=ON}
+
+ %w{boost mysql oracle odbc pg}.each do |a|
+ bool = build.include?("with-#{a}") ? "ON" : "OFF"
+ args << "-DWITH_#{translate(a).upcase}:BOOL=#{bool}"
+ end
+
+ mkdir 'build' do
+ system "cmake", *args
+ system "make install"
+ end
+ end
+end