blob: 18db0721de1309fbd62e9135548b9293c80ec475 [file] [log] [blame]
Patrick Williamsac13d5f2023-11-24 18:59:46 -06001DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
2HOMEPAGE = "http://ceres-solver.org/"
3LICENSE = "BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=3585a26c9cd9ec0cb36a7d65542878ca"
5
6DEPENDS = "libeigen glog"
7
8SRC_URI = "git://github.com/ceres-solver/ceres-solver.git;branch=master;protocol=https"
9SRCREV = "85331393dc0dff09f6fb9903ab0c4bfa3e134b01"
10
11S = "${WORKDIR}/git"
12
13inherit cmake
14
15do_configure:prepend() {
16 # otherwise https://github.com/ceres-solver/ceres-solver/blob/0b748597889f460764f6c980a00c6f502caa3875/cmake/AddGerritCommitHook.cmake#L68
17 # will try to fetch https://ceres-solver-review.googlesource.com/tools/hooks/commit-msg durind do_configure
18 # which sometimes gets stuck (as there is no TIMEOUT set in DOWNLOAD)
19 # and we really don't need Gerrit's Change-Id tags when just building this
20 touch ${S}/.git/hooks/commit-msg
21}
22
23# We don't want path to eigen3 in ceres-solver RSS to be
24# used by components which use CeresConfig.cmake from their
25# own RSS
26# 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)
27# 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)
28# 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)
29SSTATE_SCAN_FILES += "*.cmake"
30
31PACKAGECONFIG ??= ""
32
33# suitesparse* recipes will be in meta-ros layer
34PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr"
35PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse"
36PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack"
37
38# Only a static library and headers are created
39RDEPENDS:${PN}-dev = ""
40RRECOMMENDS:${PN}-dev = "${PN}-staticdev"
41RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"