## ## ceres-solver.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2022 OpenPKG Project ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package information Name: ceres-solver Summary: Ceres Constraint Solver C++ Library URL: http://ceres-solver.org/ Vendor: Google Packager: OpenPKG Project Distribution: OpenPKG Community Class: EVAL Group: Algorithm License: MIT Version: 2.0.0 Release: 20201030 # list of sources Source0: http://ceres-solver.org/ceres-solver-%{version}.tar.gz # build information BuildPreReq: OpenPKG, openpkg >= 20160101, gcc, gcc::with_cxx = yes, cmake PreReq: OpenPKG, openpkg >= 20160101 BuildPreReq: eigen, gflags, openblas, libexecinfo PreReq: eigen, gflags, openblas, libexecinfo %description Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It can be used to solve Non-linear Least Squares problems with bounds constraints and general unconstrained optimization problems. It is a mature, feature rich, and performant library that has been used in production at Google since 2010. %track prog ceres-solver = { version = %{version} url = http://ceres-solver.org/installation.html regex = ceres-solver-(__VER__)\.tar\.gz } %prep %setup -q %build mkdir build cd build cmake \ -DCMAKE_BUILD_TYPE="Release" \ -DCMAKE_INSTALL_PREFIX="%{l_prefix}" \ -DCMAKE_C_COMPILER="%{l_cc}" \ -DCMAKE_C_FLAGS="%{l_cflags} %{l_cppflags}" \ -DCMAKE_EXE_LINKER_FLAGS="%{l_ldflags}" \ -DCMAKE_CXX_COMPILER="%{l_cxx}" \ -DCMAKE_CXX_FLAGS="%{l_cxxflags} -std=c++11 %{l_cppflags}" \ -DCMAKE_REQUIRED_LIBRARIES="-lexecinfo" \ -DMINIGLOG=ON \ -DSUITESPARSE=OFF \ -DCXSPARSE=OFF \ -DBUILD_SHARED_LIBS=OFF \ -DBUILD_TESTING=OFF \ -DBUILD_EXAMPLES=OFF \ .. %{l_make} %{l_mflags} %install ( cd build %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT ) || exit $? strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} %files -f files %clean