* add package leveldb * add package gmm
@@ -12,7 +12,10 @@ package("eigen")
add_includedirs("include/eigen3")
on_install("macosx", "linux", "windows", function (package)
- import("package.tools.cmake").install(package)
+ local configs = {"-DBUILD_TESTING=OFF"}
+ table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
+ table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
+ import("package.tools.cmake").install(package, configs)
end)
on_test(function (package)
@@ -0,0 +1,28 @@
+package("gmm")
+
+ set_homepage("http://getfem.org/gmm/index.html")
+ set_description("Gmm++ provides some basic types of sparse and dense matrices and vectors.")
+ add_urls("http://download-mirror.savannah.gnu.org/releases/getfem/stable/gmm-$(version).tar.gz")
+ add_versions("5.4", "7163d5080efbe6893d1950e4b331cd3e9160bb3dcf583d206920fba6af7b1e56")
+ on_install("macosx", "linux", "windows", "mingw", function (package)
+ if package:is_plat("windows") then
+ package:add("defines", "_SCL_SECURE_NO_DEPRECATE")
+ end
+ os.cp("include/gmm", package:installdir("include"))
+ end)
+ on_test(function (package)
+ assert(package:check_cxxsnippets({test = [[
+ void test() {
+ gmm::dense_matrix<double> M(3, 3), M2(3, 3), M3(3, 3);
+ gmm::copy(gmm::identity_matrix(), M);
+ gmm::scale(M, 2.0);
+ M(1, 2) = 1.0;
+ gmm::copy(M, M2);
+ gmm::lu_inverse(M);
+ gmm::mult(M, M2, M3);
+ }
+ ]]}, {configs = {languages = "c++11"}, includes = "gmm/gmm_kernel.h"}))
@@ -0,0 +1,31 @@
+package("leveldb")
+ set_homepage("https://github.com/google/leveldb")
+ set_description("LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.")
+ add_urls("https://github.com/google/leveldb/archive/$(version).tar.gz",
+ "https://github.com/google/leveldb.git")
+ add_versions("1.22", "55423cac9e3306f4a9502c738a001e4a339d1a38ffbee7572d4a07d5d63949b2")
+ add_deps("cmake")
+ if is_plat("linux") then
+ add_syslinks("pthread")
+ local configs = {"-DLEVELDB_BUILD_TESTS=OFF", "-DLEVELDB_BUILD_BENCHMARKS=OFF"}
+ leveldb::DB* db;
+ leveldb::Options options;
+ options.create_if_missing = true;
+ leveldb::Status status = leveldb::DB::Open(options, "./test", &db);
+ ]]}, {configs = {languages = "c++11"}, includes = "leveldb/db.h"}))
@@ -71,4 +71,4 @@ package("openblas")
cblas_dgemm(CblasColMajor,CblasNoTrans,CblasTrans,3,3,2,1,A,3,B,3,2,C,3);
}
]]}, {includes = "cblas.h"}))
- end)