blob: 7feba4a5a2004de38b0826879541935793d7c466 [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
2AUTHOR = "Sameer Agarwal and Keir Mierle and Others"
3HOMEPAGE = "http://ceres-solver.org/"
Brad Bishop316dfdd2018-06-25 12:45:53 -04004LICENSE = "BSD-3-Clause"
Andrew Geisslerac970dd2021-02-12 15:32:45 -06005LIC_FILES_CHKSUM = "file://LICENSE;md5=bb761279816b72be19d7ce646e4e2a14"
Brad Bishop316dfdd2018-06-25 12:45:53 -04006
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08007DEPENDS = "libeigen glog"
8
Brad Bishop316dfdd2018-06-25 12:45:53 -04009SRC_URI = "git://github.com/ceres-solver/ceres-solver.git"
Andrew Geisslerac970dd2021-02-12 15:32:45 -060010SRCREV = "399cda773035d99eaf1f4a129a666b3c4df9d1b1"
Brad Bishop316dfdd2018-06-25 12:45:53 -040011
12S = "${WORKDIR}/git"
13
Brad Bishop316dfdd2018-06-25 12:45:53 -040014inherit cmake
15
Andrew Geissler32b11992021-03-31 13:37:05 -050016do_configure_prepend() {
17 # otherwise https://github.com/ceres-solver/ceres-solver/blob/0b748597889f460764f6c980a00c6f502caa3875/cmake/AddGerritCommitHook.cmake#L68
18 # will try to fetch https://ceres-solver-review.googlesource.com/tools/hooks/commit-msg durind do_configure
19 # which sometimes gets stuck (as there is no TIMEOUT set in DOWNLOAD)
20 # and we really don't need Gerrit's Change-Id tags when just building this
21 touch ${S}/.git/hooks/commit-msg
22}
23
Brad Bishopa891d152019-09-13 06:17:45 -040024# We don't want path to eigen3 in ceres-solver RSS to be
25# used by components which use CeresConfig.cmake from their
26# own RSS
27# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(Eigen3_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/share/eigen3/cmake)
28# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: list(APPEND EIGEN_INCLUDE_DIR_HINTS ceres-solver/1.14-r0/recipe-sysroot/usr/include/eigen3)
29# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(glog_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/lib/cmake/glog)
30SSTATE_SCAN_FILES += "*.cmake"
31
32PACKAGECONFIG ??= ""
33
34# suitesparse* recipes will be in meta-ros layer
35PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr"
36PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse"
37PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack"
38
Brad Bishop316dfdd2018-06-25 12:45:53 -040039# Only a static library and headers are created
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080040RDEPENDS_${PN}-dev = ""
41RRECOMMENDS_${PN}-dev = "${PN}-staticdev"
42RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"