43 lines
968 B
Nix
43 lines
968 B
Nix
{ stdenv
|
|
, eigen
|
|
, fetchurl
|
|
, cmake
|
|
, google-gflags ? null
|
|
, glog
|
|
, runTests ? false
|
|
}:
|
|
|
|
# google-gflags is required to run tests
|
|
assert runTests -> google-gflags != null;
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "ceres-solver-${version}";
|
|
version = "1.12.0";
|
|
|
|
src = fetchurl {
|
|
url = "http://ceres-solver.org/ceres-solver-${version}.tar.gz";
|
|
sha256 = "15f8mwhcy9f5qggcc9dqwl5y687ykvmlidr686aqdq0ia7azwnvl";
|
|
};
|
|
|
|
nativeBuildInputs = [ cmake ];
|
|
buildInputs = [ glog ]
|
|
++ stdenv.lib.optional (google-gflags != null) google-gflags;
|
|
|
|
inherit eigen;
|
|
|
|
doCheck = runTests;
|
|
|
|
checkTarget = "test";
|
|
|
|
cmakeFlags = "
|
|
-DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3
|
|
";
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "C++ library for modeling and solving large, complicated optimization problems";
|
|
license = licenses.bsd3;
|
|
homepage = "http://ceres-solver.org";
|
|
maintainers = with maintainers; [ giogadi ];
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|