Commit 8722f859 authored by Anthony Mallet's avatar Anthony Mallet
Browse files

[optimization/qpoases] Import qpOASES-3.2.1 (from wip/)

qpOASES is an open-source C++ implementation of the recently proposed
online active set strategy, which was inspired by important observations
from the field of parametric quadratic programming (QP). It has several
theoretical features that make it particularly suited for model predictive
control (MPC) applications. Further numerical modifications have made
qpOASES a reliable QP solver, even when tackling semi-definite, ill-posed or
degenerated QP problems. Moreover, several interfaces to third-party software
like  Matlab or  Simulink are provided that make qpOASES easy-to-use even for
users without knowledge of C/C++.
parent 26d4aa37
......@@ -5,6 +5,7 @@ COMMENT= Optimization tools
SUBDIR+= acado
SUBDIR+= ipopt
SUBDIR+= qpoases
SUBDIR+= roboptim-core
SUBDIR+= roboptim-core-cfsqp-plugin
SUBDIR+= roboptim-core-ipopt-plugin
......
qpOASES is an open-source C++ implementation of the recently proposed
online active set strategy, which was inspired by important observations
from the field of parametric quadratic programming (QP). It has several
theoretical features that make it particularly suited for model predictive
control (MPC) applications. Further numerical modifications have made
qpOASES a reliable QP solver, even when tackling semi-definite, ill-posed or
degenerated QP problems. Moreover, several interfaces to third-party software
like Matlab or Simulink are provided that make qpOASES easy-to-use even for
users without knowledge of C/C++.
# robotpkg Makefile for: optimization/qpOASES
# Created: Rohan Budhiraja on Fri, 8 Apr 2016
#
VERSION= 3.2.1
PKGNAME= qpoases-${VERSION}
DISTNAME= qpOASES-${VERSION}
EXTRACT_SUFX= .zip
CATEGORIES= optimization
MASTER_SITES= https://www.coin-or.org/download/source/qpOASES/
HOMEPAGE= https://projects.coin-or.org/qpOASES
COMMENT= C++ implementation of the online active set strategy
LICENSE= gnu-lgpl-v2.1
MAINTAINER= gepetto@laas.fr
WRKSRC= ${WRKDIR}/qpOASES-${VERSION}
CMAKE_ARGS+= -DQPOASES_BUILD_EXAMPLES=OFF
# option for doxygen documentation
PKG_SUGGESTED_OPTIONS+= doc
PKG_SUPPORTED_OPTIONS+= doc
PKG_OPTION_DESCR.doc= Enable documentation generation
define PKG_OPTION_SET.doc
DYNAMIC_PLIST_DIRS= share/doc/qpOASES/html
INSTALLATION_DIRS+= ${DYNAMIC_PLIST_DIRS}
post-build: generate-doc
post-install: install-doc
include ../../archivers/pax/depend.mk
include ../../mk/sysdep/doxygen.mk
endef
include ../../mk/sysdep/cmake.mk
include ../../mk/language/c.mk
include ../../mk/language/c++.mk
include ../../mk/robotpkg.mk
# Remove DoxygenLayout.xml, this makes doxygen-1.7.5.1 reliably segfault
.PHONY: generate-doc
generate-doc:
${RUN}${RM} -f ${WRKSRC}/doc/DoxygenLayout.xml
${RUN}cd ${WRKSRC}/doc && ${DOXYGEN} doxygen.config
.PHONY: install-doc
install-doc:
${RUN}cd ${WRKSRC}/doc/html && \
${PAX} -rwp ma . ${PREFIX}/${DYNAMIC_PLIST_DIRS};
${RUN}cd ${WRKSRC}/doc && \
${PAX} -rwp ma manual.pdf ${PREFIX}/share/doc/qpOASES/
@comment Wed Apr 11 19:09:30 CEST 2018
include/qpOASES.hpp
include/qpOASES/Bounds.hpp
include/qpOASES/Bounds.ipp
include/qpOASES/Constants.hpp
include/qpOASES/ConstraintProduct.hpp
include/qpOASES/Constraints.hpp
include/qpOASES/Constraints.ipp
include/qpOASES/Flipper.hpp
include/qpOASES/Indexlist.hpp
include/qpOASES/Indexlist.ipp
include/qpOASES/LapackBlasReplacement.hpp
include/qpOASES/Matrices.hpp
include/qpOASES/MessageHandling.hpp
include/qpOASES/MessageHandling.ipp
include/qpOASES/Options.hpp
include/qpOASES/QProblem.hpp
include/qpOASES/QProblem.ipp
include/qpOASES/QProblemB.hpp
include/qpOASES/QProblemB.ipp
include/qpOASES/SQProblem.hpp
include/qpOASES/SQProblem.ipp
include/qpOASES/SQProblemSchur.hpp
include/qpOASES/SQProblemSchur.ipp
include/qpOASES/SparseSolver.hpp
include/qpOASES/SubjectTo.hpp
include/qpOASES/SubjectTo.ipp
include/qpOASES/Types.hpp
include/qpOASES/UnitTesting.hpp
include/qpOASES/Utils.hpp
include/qpOASES/Utils.ipp
include/qpOASES/extras/OQPinterface.hpp
include/qpOASES/extras/SolutionAnalysis.hpp
include/qpOASES/extras/SolutionAnalysis.ipp
lib/libqpOASES.so
lib/libqpOASES.so.3.2
${PLIST.doc}share/doc/qpOASES/manual.pdf
# robotpkg depend.mk for: optimization/qpOASES
# Created: Rohan Budhiraja on Fri, 8 Apr 2016
#
DEPEND_DEPTH:= ${DEPEND_DEPTH}+
QPOASES_DEPEND_MK:= ${QPOASES_DEPEND_MK}+
ifeq (+,$(DEPEND_DEPTH))
DEPEND_PKG+= qpoases
endif
ifeq (+,$(QPOASES_DEPEND_MK)) # --------------------------------------------
PREFER.qpoases?= robotpkg
DEPEND_USE+= qpoases
DEPEND_ABI.qpoases?= qpoases>=3.2
DEPEND_DIR.qpoases?= ../../optimization/qpoases
SYSTEM_SEARCH.qpoases=\
'include/qpOASES.hpp:/\\version/s/[^0-9.]//gp'
'lib/libqpOASES.{so,a}'
endif # qpOASES_DEPEND_MK --------------------------------------------------
DEPEND_DEPTH:= ${DEPEND_DEPTH:+=}
SHA1 (qpOASES-3.2.1.zip) = ba8901eed6e3cabde99b78abb73da5e70351881f
RMD160 (qpOASES-3.2.1.zip) = 507e9c9dc011e2fb01e4a87cbc94e9b6853fab12
Size (qpOASES-3.2.1.zip) = 1195447 bytes
SHA1 (patch-aa) = 5eb45f3bc1c4fd5bc7825412b44f8720e0b50502
Enable shared library
--- CMakeLists.txt~ 2017-04-03 12:20:42.000000000 +0200
+++ CMakeLists.txt 2018-04-11 18:43:16.202943453 +0200
@@ -104,7 +104,7 @@
FILE(GLOB SRC src/*.cpp)
# library
-ADD_LIBRARY(qpOASES STATIC ${SRC})
+ADD_LIBRARY(qpOASES SHARED ${SRC})
INSTALL(TARGETS qpOASES
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment