Removed autotools from gtsam2 branch
parent
fd9da07567
commit
6f09998e10
|
@ -1,22 +0,0 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# CppUnitLite
|
||||
# replaced Makefile with automake for easy linking
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
headers = TestHarness.h
|
||||
sources = Failure.cpp SimpleString.cpp Test.cpp TestRegistry.cpp TestResult.cpp
|
||||
headers += $(sources:.cpp=.h)
|
||||
|
||||
if ENABLE_INSTALL_CPPUNITLITE
|
||||
CppUnitLitedir = $(includedir)/CppUnitLite
|
||||
lib_LIBRARIES = libCppUnitLite.a
|
||||
CppUnitLite_HEADERS = $(headers)
|
||||
libCppUnitLite_a_SOURCES = $(sources)
|
||||
else
|
||||
noinst_LIBRARIES = libCppUnitLite.a
|
||||
noinst_HEADERS = $(headers)
|
||||
libCppUnitLite_a_SOURCES = $(sources)
|
||||
endif
|
||||
|
||||
|
||||
|
32
Makefile.am
32
Makefile.am
|
@ -1,32 +0,0 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# GTSAM top-level automake file
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
#The option -I m4 tells Autoconf to look for additional Autoconf macros in the m4 subdirectory.
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
# make automake install some standard but missing files
|
||||
# also use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = foreign nostdinc
|
||||
|
||||
# For Doxygen integration
|
||||
#include aminclude.am
|
||||
|
||||
# All the sub-directories that need to be built
|
||||
SUBDIRS = CppUnitLite gtsam tests examples
|
||||
|
||||
if ENABLE_BUILD_TOOLBOX
|
||||
SUBDIRS += wrap
|
||||
endif
|
||||
|
||||
# Add these files to make sure they're in the distribution
|
||||
EXTRA_DIST = autogen.sh configure.ac COPYING INSTALL LGPL LICENSE README THANKS USAGE doc
|
||||
|
||||
# For Doxygen integration
|
||||
#MOSTLYCLEANFILES = $(DX_CLEANFILES)
|
||||
#EXTRA_DIST += $(DX_CONFIG)
|
||||
|
||||
# Remove .svn directories from dist
|
||||
dist-hook:
|
||||
rm -rf `find $(distdir)/doc -type d -name .svn`
|
186
aminclude.am
186
aminclude.am
|
@ -1,186 +0,0 @@
|
|||
# Copyright (C) 2004 Oren Ben-Kiki
|
||||
# This file is distributed under the same terms as the Automake macro files.
|
||||
|
||||
# Generate automatic documentation using Doxygen. Goals and variables values
|
||||
# are controlled by the various DX_COND_??? conditionals set by autoconf.
|
||||
#
|
||||
# The provided goals are:
|
||||
# doc: Generate all doxygen documentation.
|
||||
# doxygen-run: Run doxygen, which will generate some of the documentation
|
||||
# (HTML, CHM, CHI, MAN, RTF, XML) but will not do the post
|
||||
# processing required for the rest of it (PS, PDF, and some MAN).
|
||||
# doxygen-man: Rename some doxygen generated man pages.
|
||||
# doxygen-ps: Generate doxygen PostScript documentation.
|
||||
# doxygen-pdf: Generate doxygen PDF documentation.
|
||||
#
|
||||
# Note that by default these are not integrated into the automake goals. If
|
||||
# doxygen is used to generate man pages, you can achieve this integration by
|
||||
# setting man3_MANS to the list of man pages generated and then adding the
|
||||
# dependency:
|
||||
#
|
||||
# $(man3_MANS): doxygen-doc
|
||||
#
|
||||
# This will cause make to run doxygen and generate all the documentation.
|
||||
#
|
||||
# The following variable is intended for use in Makefile.am:
|
||||
#
|
||||
# DX_CLEANFILES = everything to clean.
|
||||
#
|
||||
# This is usually added to MOSTLYCLEANFILES.
|
||||
|
||||
## --------------------------------- ##
|
||||
## Format-independent Doxygen rules. ##
|
||||
## --------------------------------- ##
|
||||
|
||||
if DX_COND_doc
|
||||
|
||||
## ------------------------------- ##
|
||||
## Rules specific for HTML output. ##
|
||||
## ------------------------------- ##
|
||||
|
||||
if DX_COND_html
|
||||
|
||||
DX_CLEAN_HTML = @DX_DOCDIR@/html
|
||||
|
||||
endif DX_COND_html
|
||||
|
||||
## ------------------------------ ##
|
||||
## Rules specific for CHM output. ##
|
||||
## ------------------------------ ##
|
||||
|
||||
if DX_COND_chm
|
||||
|
||||
DX_CLEAN_CHM = @DX_DOCDIR@/chm
|
||||
|
||||
if DX_COND_chi
|
||||
|
||||
DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
|
||||
|
||||
endif DX_COND_chi
|
||||
|
||||
endif DX_COND_chm
|
||||
|
||||
## ------------------------------ ##
|
||||
## Rules specific for MAN output. ##
|
||||
## ------------------------------ ##
|
||||
|
||||
if DX_COND_man
|
||||
|
||||
DX_CLEAN_MAN = @DX_DOCDIR@/man
|
||||
|
||||
endif DX_COND_man
|
||||
|
||||
## ------------------------------ ##
|
||||
## Rules specific for RTF output. ##
|
||||
## ------------------------------ ##
|
||||
|
||||
if DX_COND_rtf
|
||||
|
||||
DX_CLEAN_RTF = @DX_DOCDIR@/rtf
|
||||
|
||||
endif DX_COND_rtf
|
||||
|
||||
## ------------------------------ ##
|
||||
## Rules specific for XML output. ##
|
||||
## ------------------------------ ##
|
||||
|
||||
if DX_COND_xml
|
||||
|
||||
DX_CLEAN_XML = @DX_DOCDIR@/xml
|
||||
|
||||
endif DX_COND_xml
|
||||
|
||||
## ----------------------------- ##
|
||||
## Rules specific for PS output. ##
|
||||
## ----------------------------- ##
|
||||
|
||||
if DX_COND_ps
|
||||
|
||||
DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
|
||||
|
||||
DX_PS_GOAL = doxygen-ps
|
||||
|
||||
doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps
|
||||
|
||||
@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag
|
||||
cd @DX_DOCDIR@/latex; \
|
||||
rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
|
||||
$(DX_LATEX) refman.tex; \
|
||||
$(MAKEINDEX_PATH) refman.idx; \
|
||||
$(DX_LATEX) refman.tex; \
|
||||
countdown=5; \
|
||||
while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
|
||||
refman.log > /dev/null 2>&1 \
|
||||
&& test $$countdown -gt 0; do \
|
||||
$(DX_LATEX) refman.tex; \
|
||||
countdown=`expr $$countdown - 1`; \
|
||||
done; \
|
||||
$(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi
|
||||
|
||||
endif DX_COND_ps
|
||||
|
||||
## ------------------------------ ##
|
||||
## Rules specific for PDF output. ##
|
||||
## ------------------------------ ##
|
||||
|
||||
if DX_COND_pdf
|
||||
|
||||
DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
|
||||
|
||||
DX_PDF_GOAL = doxygen-pdf
|
||||
|
||||
doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf
|
||||
|
||||
@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag
|
||||
cd @DX_DOCDIR@/latex; \
|
||||
rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
|
||||
$(DX_PDFLATEX) refman.tex; \
|
||||
$(DX_MAKEINDEX) refman.idx; \
|
||||
$(DX_PDFLATEX) refman.tex; \
|
||||
countdown=5; \
|
||||
while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
|
||||
refman.log > /dev/null 2>&1 \
|
||||
&& test $$countdown -gt 0; do \
|
||||
$(DX_PDFLATEX) refman.tex; \
|
||||
countdown=`expr $$countdown - 1`; \
|
||||
done; \
|
||||
mv refman.pdf ../@PACKAGE@.pdf
|
||||
|
||||
endif DX_COND_pdf
|
||||
|
||||
## ------------------------------------------------- ##
|
||||
## Rules specific for LaTeX (shared for PS and PDF). ##
|
||||
## ------------------------------------------------- ##
|
||||
|
||||
if DX_COND_latex
|
||||
|
||||
DX_CLEAN_LATEX = @DX_DOCDIR@/latex
|
||||
|
||||
endif DX_COND_latex
|
||||
|
||||
.PHONY: doxygen-run doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
|
||||
|
||||
.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
|
||||
|
||||
doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag
|
||||
|
||||
doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
|
||||
|
||||
@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)
|
||||
rm -rf @DX_DOCDIR@
|
||||
$(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
|
||||
|
||||
DX_CLEANFILES = \
|
||||
@DX_DOCDIR@/@PACKAGE@.tag \
|
||||
-r \
|
||||
$(DX_CLEAN_HTML) \
|
||||
$(DX_CLEAN_CHM) \
|
||||
$(DX_CLEAN_CHI) \
|
||||
$(DX_CLEAN_MAN) \
|
||||
$(DX_CLEAN_RTF) \
|
||||
$(DX_CLEAN_XML) \
|
||||
$(DX_CLEAN_PS) \
|
||||
$(DX_CLEAN_PDF) \
|
||||
$(DX_CLEAN_LATEX)
|
||||
|
||||
endif DX_COND_doc
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/sh
|
||||
autoreconf --force --install -I config -I m4
|
191
configure.ac
191
configure.ac
|
@ -1,191 +0,0 @@
|
|||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
AC_INIT(gtsam, 0.9.3, dellaert@cc.gatech.edu)
|
||||
AM_INIT_AUTOMAKE(gtsam, 0.9.3)
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CONFIG_HEADER([config.h])
|
||||
AC_CONFIG_SRCDIR([CppUnitLite/Test.cpp])
|
||||
AC_CONFIG_SRCDIR([wrap/wrap.cpp])
|
||||
AC_CONFIG_SRCDIR([gtsam/base/DSFVector.cpp])
|
||||
AC_CONFIG_SRCDIR([gtsam/geometry/Cal3_S2.cpp])
|
||||
AC_CONFIG_SRCDIR([gtsam/inference/SymbolicFactorGraph.cpp])
|
||||
AC_CONFIG_SRCDIR([gtsam/linear/GaussianFactor.cpp])
|
||||
AC_CONFIG_SRCDIR([gtsam/nonlinear/NonlinearOptimizer.cpp])
|
||||
AC_CONFIG_SRCDIR([gtsam/slam/pose2SLAM.cpp])
|
||||
AC_CONFIG_SRCDIR([tests/testTupleValues.cpp])
|
||||
AC_CONFIG_SRCDIR([examples/SimpleRotation.cpp])
|
||||
AC_CONFIG_SRCDIR([gtsam/3rdparty/Makefile.am])
|
||||
|
||||
# For doxygen support
|
||||
#DX_HTML_FEATURE(ON)
|
||||
#DX_CHM_FEATURE(OFF)
|
||||
#DX_CHI_FEATURE(OFF)
|
||||
#DX_MAN_FEATURE(OFF)
|
||||
#DX_RTF_FEATURE(OFF)
|
||||
#DX_XML_FEATURE(OFF)
|
||||
#DX_PDF_FEATURE(OFF)
|
||||
#DX_PS_FEATURE(OFF)
|
||||
#DX_INIT_DOXYGEN(gtsam, Doxyfile, doc)
|
||||
|
||||
# Check for OS
|
||||
# needs to be called at some point earlier
|
||||
AC_CANONICAL_HOST
|
||||
AM_CONDITIONAL([DARWIN], [case $host_os in darwin*) true;; *) false;; esac])
|
||||
AM_CONDITIONAL([LINUX], [case $host_os in linux*) true;; *) false;; esac])
|
||||
AM_CONDITIONAL([IS_64BIT], [case $host_cpu in *x86_64*) true;; *) false;; esac])
|
||||
|
||||
# enable debug variable
|
||||
AC_ARG_ENABLE([debug],
|
||||
[ --enable-debug Turn on debugging],
|
||||
[case "${enableval}" in
|
||||
yes) debug=true ;;
|
||||
no) debug=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-debug]) ;;
|
||||
esac],[debug=false])
|
||||
|
||||
AM_CONDITIONAL([DEBUG], [test x$debug = xtrue])
|
||||
|
||||
# enable profiling
|
||||
AC_ARG_ENABLE([profiling],
|
||||
[ --enable-profiling Enable profiling],
|
||||
[case "${enableval}" in
|
||||
yes) profiling=true ;;
|
||||
no) profiling=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-profiling]) ;;
|
||||
esac],[profiling=false])
|
||||
|
||||
AM_CONDITIONAL([USE_PROFILING], [test x$profiling = xtrue])
|
||||
|
||||
# enable serialization in serialization test
|
||||
AC_ARG_ENABLE([serialization],
|
||||
[ --enable-serialization Enable serialization with boost serialization],
|
||||
[case "${enableval}" in
|
||||
yes) serialization=true ;;
|
||||
no) serialization=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-serialization]) ;;
|
||||
esac],[serialization=false])
|
||||
|
||||
AM_CONDITIONAL([ENABLE_SERIALIZATION], [test x$serialization = xtrue])
|
||||
|
||||
# enable installation of CppUnitLite with gtsam
|
||||
AC_ARG_ENABLE([install_cppunitlite],
|
||||
[ --enable-install-cppunitlite Enable installation of CppUnitLite],
|
||||
[case "${enableval}" in
|
||||
yes) install_cppunitlite=true ;;
|
||||
no) install_cppunitlite=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-install-cppunitlite]) ;;
|
||||
esac],[install_cppunitlite=false])
|
||||
|
||||
AM_CONDITIONAL([ENABLE_INSTALL_CPPUNITLITE], [test x$install_cppunitlite = xtrue])
|
||||
|
||||
# enable matlab toolbox generation
|
||||
AC_ARG_ENABLE([build_toolbox],
|
||||
[ --enable-build-toolbox Enable building of the Matlab toolbox],
|
||||
[case "${enableval}" in
|
||||
yes) build_toolbox=true ;;
|
||||
no) build_toolbox=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-build-toolbox]) ;;
|
||||
esac],[build_toolbox=false])
|
||||
|
||||
AM_CONDITIONAL([ENABLE_BUILD_TOOLBOX], [test x$build_toolbox = xtrue])
|
||||
|
||||
# enable installation of matlab tests
|
||||
AC_ARG_ENABLE([install_matlab_tests],
|
||||
[ --enable-install-matlab-tests Enable installation of tests for the Matlab toolbox],
|
||||
[case "${enableval}" in
|
||||
yes) install_matlab_tests=true ;;
|
||||
no) install_matlab_tests=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-install-matlab-tests]) ;;
|
||||
esac],[install_matlab_tests=true])
|
||||
|
||||
AM_CONDITIONAL([ENABLE_INSTALL_MATLAB_TESTS], [test x$install_matlab_tests = xtrue])
|
||||
|
||||
# enable installation of matlab examples
|
||||
AC_ARG_ENABLE([install_matlab_examples],
|
||||
[ --enable-install-matlab-examples Enable installation of examples for the Matlab toolbox],
|
||||
[case "${enableval}" in
|
||||
yes) install_matlab_examples=true ;;
|
||||
no) install_matlab_examples=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-install-matlab-examples]) ;;
|
||||
esac],[install_matlab_examples=true])
|
||||
|
||||
AM_CONDITIONAL([ENABLE_INSTALL_MATLAB_EXAMPLES], [test x$install_matlab_examples = xtrue])
|
||||
|
||||
# Matlab toolbox: optional flag to change location of toolbox, defaults to install prefix
|
||||
AC_ARG_WITH([toolbox],
|
||||
[AS_HELP_STRING([--with-toolbox],
|
||||
[specify the matlab toolbox directory for installation])],
|
||||
[toolbox=$withval],
|
||||
[toolbox=$prefix])
|
||||
AC_SUBST([toolbox])
|
||||
|
||||
# enable installation of the wrap utility
|
||||
AC_ARG_ENABLE([install_wrap],
|
||||
[ --enable-install-wrap Enable installation of the wrap tool for generating matlab interfaces],
|
||||
[case "${enableval}" in
|
||||
yes) install_wrap=true ;;
|
||||
no) install_wrap=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-install-wrap]) ;;
|
||||
esac],[install_wrap=false])
|
||||
|
||||
AM_CONDITIONAL([ENABLE_INSTALL_WRAP], [test x$install_wrap = xtrue])
|
||||
|
||||
# enable unsafe mode for wrap
|
||||
AC_ARG_ENABLE([unsafe_wrap],
|
||||
[ --enable-unsafe-wrap Enable using unsafe mode in wrap],
|
||||
[case "${enableval}" in
|
||||
yes) unsafe_wrap=true ;;
|
||||
no) unsafe_wrap=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-unsafe-wrap]) ;;
|
||||
esac],[unsafe_wrap=false])
|
||||
|
||||
AM_CONDITIONAL([ENABLE_UNSAFE_WRAP], [test x$unsafe_wrap = xtrue])
|
||||
|
||||
# wrap install path: optional flag to change location of wrap, defaults to install prefix/bin
|
||||
AC_ARG_WITH([wrap],
|
||||
[AS_HELP_STRING([--with-wrap],
|
||||
[specify the wrap directory for installation])],
|
||||
[wrap=$withval],
|
||||
[wrap=$prefix/bin])
|
||||
AC_SUBST([wrap])
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CXX
|
||||
AC_PROG_CC
|
||||
|
||||
# Checks for libraries.
|
||||
LT_INIT
|
||||
|
||||
# Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS([string.h])
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_HEADER_STDBOOL
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AC_TYPE_SIZE_T
|
||||
|
||||
# Checks for library functions.
|
||||
AC_FUNC_ERROR_AT_LINE
|
||||
AC_CHECK_FUNCS([pow sqrt])
|
||||
|
||||
# Check for boost
|
||||
AX_BOOST_BASE([1.40])
|
||||
|
||||
AC_CONFIG_FILES([CppUnitLite/Makefile \
|
||||
wrap/Makefile \
|
||||
gtsam/3rdparty/Makefile \
|
||||
gtsam/base/Makefile \
|
||||
gtsam/geometry/Makefile \
|
||||
gtsam/inference/Makefile \
|
||||
gtsam/linear/Makefile \
|
||||
gtsam/nonlinear/Makefile \
|
||||
gtsam/slam/Makefile gtsam/Makefile \
|
||||
tests/Makefile \
|
||||
examples/Makefile \
|
||||
examples/vSLAMexample/Makefile \
|
||||
Makefile])
|
||||
AC_OUTPUT
|
|
@ -1,45 +0,0 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# GTSAM Examples
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
|
||||
headers =
|
||||
sources =
|
||||
check_PROGRAMS =
|
||||
|
||||
# Examples
|
||||
noinst_PROGRAMS = SimpleRotation # Optimizes a single nonlinear rotation variable
|
||||
noinst_PROGRAMS += PlanarSLAMExample_easy # Solves SLAM example from tutorial by using planarSLAM
|
||||
noinst_PROGRAMS += PlanarSLAMSelfContained_advanced # Solves SLAM example from tutorial with all typedefs in the script
|
||||
noinst_PROGRAMS += Pose2SLAMExample_easy # Solves SLAM example from tutorial by using Pose2SLAM and easy optimization interface
|
||||
noinst_PROGRAMS += Pose2SLAMExample_advanced # Solves SLAM example from tutorial by using Pose2SLAM and advanced optimization interface
|
||||
#noinst_PROGRAMS += Pose2SLAMwSPCG_easy # Solves a simple Pose2 SLAM example with advanced SPCG solver
|
||||
#noinst_PROGRAMS += Pose2SLAMwSPCG_advanced # Solves a simple Pose2 SLAM example with easy SPCG solver
|
||||
noinst_PROGRAMS += elaboratePoint2KalmanFilter # simple linear Kalman filter on a moving 2D point, but done using factor graphs
|
||||
noinst_PROGRAMS += easyPoint2KalmanFilter # uses the cool generic templated Kalman filter class to do the same
|
||||
noinst_PROGRAMS += CameraResectioning
|
||||
|
||||
EXTRA_DIST = Data
|
||||
dist-hook:
|
||||
rm -rf $(distdir)/Data/.svn
|
||||
|
||||
SUBDIRS = vSLAMexample # visual SLAM examples with 3D point landmarks and 6D camera poses
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# rules to build local programs
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
LDADD = ../gtsam/libgtsam.la
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
||||
# rule to run an executable
|
||||
%.run: % $(LDADD)
|
||||
./$^
|
||||
|
||||
# rule to run executable with valgrind
|
||||
%.valgrind: % $(LDADD)
|
||||
valgrind ./%
|
||||
#----------------------------------------------------------------------------------------------------
|
|
@ -1,287 +0,0 @@
|
|||
# 3rd Party libraries to be built and installed along with gtsam
|
||||
|
||||
# use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
|
||||
# set up the folders for includes
|
||||
3rdpartydir = $(pkgincludedir)/3rdparty
|
||||
3rdparty_includedir = $(includedir)/gtsam/3rdparty
|
||||
nobase_3rdparty_HEADERS =
|
||||
|
||||
# CCOLAMD (with UFconfig files included)
|
||||
# FIXME: ccolamd requires a -I setting for every header file
|
||||
ccolamd_inc = $(top_srcdir)/gtsam/3rdparty/CCOLAMD/Include
|
||||
ufconfig_inc = $(top_srcdir)/gtsam/3rdparty/UFconfig
|
||||
headers = CCOLAMD/Include/ccolamd.h UFconfig/UFconfig.h
|
||||
sources = CCOLAMD/Source/ccolamd.c CCOLAMD/Source/ccolamd_global.c UFconfig/UFconfig.c
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# Create a libtool library that is not installed
|
||||
# It will be packaged in the toplevel libgtsam.la as specfied in ../Makefile.am
|
||||
# The headers are installed in $(includedir)/gtsam/3rdparty:
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
nobase_3rdparty_HEADERS += $(headers)
|
||||
noinst_LTLIBRARIES = libccolamd.la
|
||||
libccolamd_la_SOURCES = $(sources)
|
||||
|
||||
AM_CPPFLAGS =
|
||||
AM_CPPFLAGS += -I$(ccolamd_inc) -I$(ufconfig_inc) $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
|
||||
# Eigen Installation - just copies the headers
|
||||
eigen_path =
|
||||
eigen_path += Eigen/Eigen
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/Array $(eigen_path)/LeastSquares
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/Cholesky $(eigen_path)/LU
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/Core $(eigen_path)/QR
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/Dense $(eigen_path)/QtAlignedMalloc
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/Eigen $(eigen_path)/Sparse
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/Eigen2Support $(eigen_path)/StdDeque
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/Eigenvalues $(eigen_path)/StdList
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/Geometry $(eigen_path)/StdVector
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/Householder $(eigen_path)/SVD
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/Jacobi
|
||||
|
||||
##./src/Cholesky:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Cholesky/LDLT.h $(eigen_path)/src/Cholesky/LLT.h
|
||||
|
||||
##./src/Core:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/ArrayBase.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Array.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/ArrayWrapper.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Assign.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/BandMatrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Block.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/BooleanRedux.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/CommaInitializer.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/CwiseBinaryOp.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/CwiseNullaryOp.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/CwiseUnaryOp.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/CwiseUnaryView.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/DenseBase.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/DenseCoeffsBase.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/DenseStorage.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Diagonal.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/DiagonalMatrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/DiagonalProduct.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Dot.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/EigenBase.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Flagged.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/ForceAlignedAccess.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Functors.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Fuzzy.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/GenericPacketMath.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/GlobalFunctions.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/IO.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/MapBase.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Map.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/MathFunctions.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/MatrixBase.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Matrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/NestByValue.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/NoAlias.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/NumTraits.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/PermutationMatrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/PlainObjectBase.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/ProductBase.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Product.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Random.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Redux.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Replicate.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/ReturnByValue.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Reverse.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Select.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/SelfAdjointView.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/SelfCwiseBinaryOp.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/SolveTriangular.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/StableNorm.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Stride.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Swap.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Transpose.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Transpositions.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/TriangularMatrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/VectorBlock.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/VectorwiseOp.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/Visitor.h
|
||||
|
||||
##./src/Core/arch/AltiVec:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/arch/AltiVec/Complex.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/arch/AltiVec/PacketMath.h
|
||||
|
||||
##./src/Core/arch/Default:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/arch/Default/Settings.h
|
||||
|
||||
##./src/Core/arch/NEON:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/arch/NEON/Complex.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/arch/NEON/PacketMath.h
|
||||
|
||||
##./src/Core/arch/SSE:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/arch/SSE/Complex.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/arch/SSE/MathFunctions.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/arch/SSE/PacketMath.h
|
||||
|
||||
##./src/Core/products:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/CoeffBasedProduct.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/GeneralBlockPanelKernel.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/GeneralMatrixMatrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/GeneralMatrixMatrixTriangular.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/GeneralMatrixVector.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/Parallelizer.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/SelfadjointMatrixMatrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/SelfadjointMatrixVector.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/SelfadjointProduct.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/SelfadjointRank2Update.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/TriangularMatrixMatrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/TriangularMatrixVector.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/TriangularSolverMatrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/products/TriangularSolverVector.h
|
||||
|
||||
##./src/Core/util:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/util/BlasUtil.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/util/Constants.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/util/DisableStupidWarnings.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/util/ForwardDeclarations.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/util/Macros.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/util/Memory.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/util/Meta.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/util/ReenableStupidWarnings.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/util/StaticAssert.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Core/util/XprHelper.h
|
||||
|
||||
##./src/Eigen2Support:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Block.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Cwise.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/CwiseOperators.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Lazy.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/LeastSquares.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/LU.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Macros.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/MathFunctions.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Memory.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Meta.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Minor.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/QR.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/SVD.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/TriangularSolver.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/VectorBlock.h
|
||||
|
||||
##./src/Eigen2Support/Geometry:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Geometry/AlignedBox.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Geometry/All.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Geometry/AngleAxis.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Geometry/Hyperplane.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Geometry/ParametrizedLine.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Geometry/Quaternion.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Geometry/Rotation2D.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Geometry/RotationBase.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Geometry/Scaling.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Geometry/Transform.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigen2Support/Geometry/Translation.h
|
||||
|
||||
##./src/Eigenvalues:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigenvalues/ComplexEigenSolver.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigenvalues/ComplexSchur.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigenvalues/EigenSolver.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigenvalues/EigenvaluesCommon.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigenvalues/HessenbergDecomposition.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigenvalues/MatrixBaseEigenvalues.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigenvalues/RealSchur.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigenvalues/SelfAdjointEigenSolver.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Eigenvalues/Tridiagonalization.h
|
||||
|
||||
##./src/Geometry:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/AlignedBox.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/AngleAxis.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/EulerAngles.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/Homogeneous.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/Hyperplane.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/OrthoMethods.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/ParametrizedLine.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/Quaternion.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/Rotation2D.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/RotationBase.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/Scaling.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/Transform.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/Translation.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/Umeyama.h
|
||||
|
||||
##./src/Geometry/arch:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Geometry/arch/Geometry_SSE.h
|
||||
|
||||
##./src/Householder:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Householder/BlockHouseholder.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Householder/Householder.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Householder/HouseholderSequence.h
|
||||
|
||||
##./src/Jacobi:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Jacobi/Jacobi.h
|
||||
|
||||
##./src/LU:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/LU/Determinant.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/LU/FullPivLU.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/LU/Inverse.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/LU/PartialPivLU.h
|
||||
|
||||
##./src/LU/arch:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/LU/arch/Inverse_SSE.h
|
||||
|
||||
##./src/misc:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/misc/Image.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/misc/Kernel.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/misc/Solve.h
|
||||
|
||||
##./src/plugins:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/plugins/ArrayCwiseBinaryOps.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/plugins/ArrayCwiseUnaryOps.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/plugins/BlockMethods.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/plugins/CommonCwiseBinaryOps.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/plugins/CommonCwiseUnaryOps.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/plugins/MatrixCwiseBinaryOps.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/plugins/MatrixCwiseUnaryOps.h
|
||||
|
||||
##./src/QR:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/QR/ColPivHouseholderQR.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/QR/FullPivHouseholderQR.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/QR/HouseholderQR.h
|
||||
|
||||
##./src/Sparse:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/AmbiVector.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/CompressedStorage.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/CoreIterators.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/DynamicSparseMatrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/MappedSparseMatrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseAssign.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseBlock.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseCwiseBinaryOp.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseCwiseUnaryOp.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseDenseProduct.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseDiagonalProduct.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseDot.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseFuzzy.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseMatrixBase.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseMatrix.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseProduct.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseRedux.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseSelfAdjointView.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseSparseProduct.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseTranspose.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseTriangularView.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseUtil.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseVector.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/SparseView.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/Sparse/TriangularSolver.h
|
||||
|
||||
##./src/StlSupport:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/StlSupport/details.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/StlSupport/StdDeque.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/StlSupport/StdList.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/StlSupport/StdVector.h
|
||||
|
||||
##./src/SVD:
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/SVD/JacobiSVD.h
|
||||
nobase_3rdparty_HEADERS += $(eigen_path)/src/SVD/UpperBidiagonalization.h
|
||||
|
||||
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
|
||||
# All the sub-directories that need to be built
|
||||
SUBDIRS = 3rdparty base geometry inference linear nonlinear slam
|
||||
|
||||
# And the corresponding libraries produced
|
||||
SUBLIBS = 3rdparty/libccolamd.la base/libbase.la geometry/libgeometry.la \
|
||||
inference/libinference.la linear/liblinear.la nonlinear/libnonlinear.la \
|
||||
slam/libslam.la
|
||||
|
||||
# The following lines specify the actual shared library to be built with libtool
|
||||
lib_LTLIBRARIES = libgtsam.la
|
||||
libgtsam_la_SOURCES =
|
||||
nodist_EXTRA_libgtsam_la_SOURCES = dummy.cxx
|
||||
libgtsam_la_LIBADD = $(SUBLIBS) $(BOOST_LDFLAGS)
|
||||
libgtsam_la_LDFLAGS = -no-undefined -version-info 0:0:0
|
|
@ -1,84 +0,0 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# GTSAM base
|
||||
# provides some base Math and data structures, as well as test-related utilities
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
|
||||
headers =
|
||||
sources =
|
||||
check_PROGRAMS =
|
||||
|
||||
# base Math
|
||||
|
||||
headers += FixedVector.h types.h blockMatrices.h
|
||||
sources += Vector.cpp Matrix.cpp
|
||||
sources += cholesky.cpp
|
||||
check_PROGRAMS += tests/testFixedVector tests/testVector tests/testMatrix tests/testBlockMatrices
|
||||
check_PROGRAMS += tests/testCholesky
|
||||
check_PROGRAMS += tests/testNumericalDerivative
|
||||
|
||||
# Testing
|
||||
headers += Testable.h TestableAssertions.h numericalDerivative.h
|
||||
sources += timing.cpp debug.cpp
|
||||
check_PROGRAMS += tests/testDebug tests/testTestableAssertions
|
||||
|
||||
# Manifolds and Lie Groups
|
||||
headers += DerivedValue.h Value.h Manifold.h Group.h
|
||||
headers += Lie.h Lie-inl.h lieProxies.h LieScalar.h
|
||||
sources += LieVector.cpp
|
||||
check_PROGRAMS += tests/testLieVector tests/testLieScalar
|
||||
|
||||
# Data structures
|
||||
headers += BTree.h DSF.h FastMap.h FastSet.h FastList.h FastVector.h
|
||||
sources += DSFVector.cpp
|
||||
check_PROGRAMS += tests/testBTree tests/testDSF tests/testDSFVector
|
||||
|
||||
## flag disabled to force this test to get updated properly
|
||||
if ENABLE_SERIALIZATION
|
||||
check_PROGRAMS += tests/testSerializationBase
|
||||
endif
|
||||
|
||||
# Timing tests
|
||||
noinst_PROGRAMS = tests/timeMatrix tests/timeVirtual tests/timeVirtual2 tests/timeTest
|
||||
noinst_PROGRAMS += tests/timeMatrixOps
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# Create a libtool library that is not installed
|
||||
# It will be packaged in the toplevel libgtsam.la as specfied in ../Makefile.am
|
||||
# The headers are installed in $(includedir)/gtsam:
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
headers += $(sources:.cpp=.h)
|
||||
basedir = $(pkgincludedir)/base
|
||||
base_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = libbase.la
|
||||
libbase_la_SOURCES = $(sources)
|
||||
|
||||
AM_CPPFLAGS =
|
||||
|
||||
AM_CPPFLAGS += $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
|
||||
# link to serialization library for test
|
||||
if ENABLE_SERIALIZATION
|
||||
tests_testSerializationBase_LDFLAGS = -lboost_serialization
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# rules to build local programs
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = libbase.la ../../CppUnitLite/libCppUnitLite.a
|
||||
|
||||
# rule to run an executable
|
||||
%.run: % $(LDADD)
|
||||
./$^
|
||||
|
||||
# rule to run executable with valgrind
|
||||
%.valgrind: % $(LDADD)
|
||||
valgrind ./$^
|
||||
#----------------------------------------------------------------------------------------------------
|
|
@ -1,81 +0,0 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# GTSAM geometry
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
|
||||
headers =
|
||||
sources =
|
||||
check_PROGRAMS =
|
||||
|
||||
# Concept check
|
||||
headers += concepts.h
|
||||
|
||||
# Points and poses
|
||||
sources += Point2.cpp Rot2.cpp Pose2.cpp Point3.cpp Pose3.cpp
|
||||
check_PROGRAMS += tests/testPoint2 tests/testRot2 tests/testPose2 tests/testPoint3 tests/testRot3M tests/testRot3Q tests/testPose3
|
||||
|
||||
# Cameras
|
||||
headers += GeneralCameraT.h Cal3_S2Stereo.h PinholeCamera.h
|
||||
sources += Cal3_S2.cpp Cal3DS2.cpp Cal3Bundler.cpp CalibratedCamera.cpp SimpleCamera.cpp
|
||||
check_PROGRAMS += tests/testCal3DS2 tests/testCal3_S2 tests/testCal3Bundler tests/testCalibratedCamera tests/testSimpleCamera
|
||||
|
||||
# Stereo
|
||||
sources += StereoPoint2.cpp StereoCamera.cpp
|
||||
check_PROGRAMS += tests/testStereoCamera tests/testStereoPoint2
|
||||
|
||||
# Tensors
|
||||
headers += tensors.h Tensor1.h Tensor2.h Tensor3.h Tensor4.h Tensor5.h
|
||||
headers += Tensor1Expression.h Tensor2Expression.h Tensor3Expression.h Tensor5Expression.h
|
||||
sources += projectiveGeometry.cpp tensorInterface.cpp
|
||||
check_PROGRAMS += tests/testTensors tests/testHomography2 tests/testFundamental
|
||||
|
||||
## flag disabled to force this test to get updated properly
|
||||
if ENABLE_SERIALIZATION
|
||||
check_PROGRAMS += tests/testSerializationGeometry
|
||||
endif
|
||||
|
||||
# Timing tests
|
||||
noinst_PROGRAMS = tests/timeRot3 tests/timePose3 tests/timeCalibratedCamera tests/timeStereoCamera
|
||||
|
||||
# Rot3M and Rot3Q both use Rot3.h, they do not have individual header files
|
||||
allsources = $(sources)
|
||||
allsources += Rot3M.cpp Rot3Q.cpp
|
||||
headers += Rot3.h
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# Create a libtool library that is not installed
|
||||
# It will be packaged in the toplevel libgtsam.la as specfied in ../Makefile.am
|
||||
# The headers are installed in $(includedir)/gtsam:
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
headers += $(sources:.cpp=.h)
|
||||
geometrydir = $(pkgincludedir)/geometry
|
||||
geometry_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = libgeometry.la
|
||||
libgeometry_la_SOURCES = $(allsources)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
|
||||
# link to serialization library for test
|
||||
if ENABLE_SERIALIZATION
|
||||
tests_testSerializationGeometry_LDFLAGS = -lboost_serialization
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# rules to build local programs
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = libgeometry.la ../base/libbase.la ../../CppUnitLite/libCppUnitLite.a
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
||||
# rule to run an executable
|
||||
%.run: % $(LDADD)
|
||||
./$^
|
||||
|
||||
# rule to run executable with valgrind
|
||||
%.valgrind: % $(LDADD)
|
||||
valgrind ./$^
|
||||
#----------------------------------------------------------------------------------------------------
|
|
@ -1,93 +0,0 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# GTSAM core functionality: base classes for inference, as well as symbolic and discrete
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
|
||||
headers =
|
||||
sources =
|
||||
check_PROGRAMS =
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# base
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# GTSAM core
|
||||
headers += Factor.h Factor-inl.h Conditional.h
|
||||
|
||||
# Symbolic Inference
|
||||
sources += SymbolicFactorGraph.cpp SymbolicMultifrontalSolver.cpp SymbolicSequentialSolver.cpp
|
||||
check_PROGRAMS += tests/testSymbolicFactor tests/testSymbolicFactorGraph tests/testConditional
|
||||
check_PROGRAMS += tests/testSymbolicBayesNet tests/testVariableIndex tests/testVariableSlots
|
||||
|
||||
# Inference
|
||||
headers += GenericMultifrontalSolver.h GenericMultifrontalSolver-inl.h GenericSequentialSolver.h GenericSequentialSolver-inl.h
|
||||
sources += inference.cpp VariableSlots.cpp Permutation.cpp VariableIndex.cpp
|
||||
sources += IndexFactor.cpp IndexConditional.cpp
|
||||
headers += graph.h graph-inl.h
|
||||
headers += FactorGraph.h FactorGraph-inl.h
|
||||
headers += ClusterTree.h ClusterTree-inl.h
|
||||
headers += JunctionTree.h JunctionTree-inl.h
|
||||
headers += EliminationTree.h EliminationTree-inl.h
|
||||
headers += BayesNet.h BayesNet-inl.h
|
||||
headers += BayesTree.h BayesTree-inl.h
|
||||
headers += BayesTreeCliqueBase.h BayesTreeCliqueBase-inl.h
|
||||
headers += ISAM.h ISAM-inl.h
|
||||
check_PROGRAMS += tests/testInference
|
||||
check_PROGRAMS += tests/testFactorGraph
|
||||
check_PROGRAMS += tests/testFactorGraph
|
||||
check_PROGRAMS += tests/testBayesTree
|
||||
check_PROGRAMS += tests/testISAM
|
||||
check_PROGRAMS += tests/testEliminationTree
|
||||
check_PROGRAMS += tests/testClusterTree
|
||||
check_PROGRAMS += tests/testJunctionTree
|
||||
check_PROGRAMS += tests/testPermutation
|
||||
|
||||
## flag disabled to force this test to get updated properly
|
||||
if ENABLE_SERIALIZATION
|
||||
check_PROGRAMS += tests/testSerializationInference
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# Create a libtool library that is not installed
|
||||
# It will be packaged in the toplevel libgtsam.la as specfied in ../Makefile.am
|
||||
# The headers are installed in $(includedir)/gtsam:
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# CCOLAMD include flags are needed due to the bad include paths within the library
|
||||
# but will not be exposed to users.
|
||||
ccolamd_inc = -I$(top_srcdir)/gtsam/3rdparty/CCOLAMD/Include -I$(top_srcdir)/gtsam/3rdparty/UFconfig
|
||||
|
||||
headers += $(sources:.cpp=.h)
|
||||
inferencedir = $(pkgincludedir)/inference
|
||||
inference_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = libinference.la
|
||||
libinference_la_SOURCES = $(sources)
|
||||
AM_CPPFLAGS = $(ccolamd_inc) $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
AM_CXXFLAGS =
|
||||
|
||||
# link to serialization library for test
|
||||
if ENABLE_SERIALIZATION
|
||||
tests_testSerializationInference_LDFLAGS = -lboost_serialization
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# rules to build local programs
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = libinference.la ../base/libbase.la ../3rdparty/libccolamd.la
|
||||
LDADD += ../../CppUnitLite/libCppUnitLite.a
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
||||
# rule to run an executable
|
||||
%.run: % $(LDADD)
|
||||
./$^
|
||||
|
||||
# rule to run executable with valgrind
|
||||
%.valgrind: % $(LDADD)
|
||||
valgrind ./$^
|
||||
|
|
@ -1,87 +0,0 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# GTSAM linear: inference in Gaussian factor graphs
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
|
||||
headers =
|
||||
sources =
|
||||
check_PROGRAMS =
|
||||
|
||||
# Noise Model
|
||||
headers += SharedGaussian.h SharedDiagonal.h SharedNoiseModel.h
|
||||
sources += NoiseModel.cpp Errors.cpp Sampler.cpp
|
||||
check_PROGRAMS += tests/testNoiseModel tests/testErrors tests/testSampler
|
||||
|
||||
# Vector Configurations
|
||||
sources += VectorValues.cpp
|
||||
check_PROGRAMS += tests/testVectorValues
|
||||
|
||||
# Solvers
|
||||
sources += GaussianSequentialSolver.cpp GaussianMultifrontalSolver.cpp
|
||||
|
||||
# Gaussian Factor Graphs
|
||||
sources += JacobianFactor.cpp HessianFactor.cpp
|
||||
sources += GaussianFactor.cpp GaussianFactorGraph.cpp
|
||||
sources += GaussianJunctionTree.cpp
|
||||
sources += GaussianConditional.cpp GaussianDensity.cpp GaussianBayesNet.cpp
|
||||
sources += GaussianISAM.cpp
|
||||
check_PROGRAMS += tests/testHessianFactor tests/testJacobianFactor tests/testGaussianConditional
|
||||
check_PROGRAMS += tests/testGaussianDensity tests/testGaussianFactorGraph tests/testGaussianJunctionTree
|
||||
|
||||
# Kalman Filter
|
||||
sources += KalmanFilter.cpp
|
||||
check_PROGRAMS += tests/testKalmanFilter
|
||||
|
||||
# Iterative Methods
|
||||
headers += iterative-inl.h
|
||||
sources += iterative.cpp SubgraphPreconditioner.cpp SubgraphSolver.cpp
|
||||
headers += IterativeSolver.h IterativeOptimizationParameters.h
|
||||
headers += SubgraphSolver-inl.h
|
||||
|
||||
## flag disabled to force this test to get updated properly
|
||||
if ENABLE_SERIALIZATION
|
||||
check_PROGRAMS += tests/testSerializationLinear
|
||||
endif
|
||||
|
||||
# Timing tests
|
||||
noinst_PROGRAMS = tests/timeGaussianFactor tests/timeFactorOverhead tests/timeSLAMlike
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# Create a libtool library that is not installed
|
||||
# It will be packaged in the toplevel libgtsam.la as specfied in ../Makefile.am
|
||||
# The headers are installed in $(includedir)/gtsam:
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
headers += $(sources:.cpp=.h)
|
||||
lineardir = $(pkgincludedir)/linear
|
||||
linear_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = liblinear.la
|
||||
liblinear_la_SOURCES = $(sources)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
AM_CXXFLAGS =
|
||||
|
||||
# link to serialization library for test
|
||||
if ENABLE_SERIALIZATION
|
||||
tests_testSerializationLinear_LDFLAGS = -lboost_serialization
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# rules to build local programs
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = liblinear.la ../inference/libinference.la ../base/libbase.la ../3rdparty/libccolamd.la
|
||||
LDADD += ../../CppUnitLite/libCppUnitLite.a
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
||||
# rule to run an executable
|
||||
%.run: % $(LDADD)
|
||||
./$^
|
||||
|
||||
# rule to run executable with valgrind
|
||||
%.valgrind: % $(LDADD)
|
||||
valgrind ./$^
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# GTSAM nonlinear
|
||||
# Non-linear optimization
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
|
||||
headers =
|
||||
sources =
|
||||
check_PROGRAMS =
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# nonlinear
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# Lie Groups
|
||||
headers += Values-inl.h
|
||||
sources += Values.cpp
|
||||
check_PROGRAMS += tests/testValues tests/testKey tests/testOrdering
|
||||
|
||||
# Nonlinear nonlinear
|
||||
headers += Symbol.h
|
||||
headers += NonlinearOptimizer-inl.h NonlinearOptimization.h NonlinearOptimization-inl.h
|
||||
headers += NonlinearFactor.h
|
||||
sources += NonlinearFactorGraph.cpp NonlinearOptimizer.cpp Ordering.cpp DoglegOptimizerImpl.cpp NonlinearOptimizationParameters.cpp
|
||||
headers += DoglegOptimizer.h DoglegOptimizer-inl.h
|
||||
|
||||
# Nonlinear iSAM(2)
|
||||
headers += NonlinearISAM.h NonlinearISAM-inl.h
|
||||
headers += ISAM2.h ISAM2-inl.h ISAM2-impl-inl.h
|
||||
sources += GaussianISAM2.cpp
|
||||
headers += GaussianISAM2-inl.h
|
||||
|
||||
# Nonlinear constraints
|
||||
headers += NonlinearEquality.h
|
||||
|
||||
# White noise factor
|
||||
headers += WhiteNoiseFactor.h
|
||||
#check_PROGRAMS += tests/testWhiteFactor
|
||||
|
||||
# Kalman Filter
|
||||
headers += ExtendedKalmanFilter.h ExtendedKalmanFilter-inl.h
|
||||
|
||||
## flag disabled to force this test to get updated properly
|
||||
if ENABLE_SERIALIZATION
|
||||
check_PROGRAMS += tests/testSerializationNonlinear
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# Create a libtool library that is not installed
|
||||
# It will be packaged in the toplevel libgtsam.la as specfied in ../Makefile.am
|
||||
# The headers are installed in $(includedir)/gtsam:
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
headers += $(sources:.cpp=.h)
|
||||
nonlineardir = $(pkgincludedir)/nonlinear
|
||||
nonlinear_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = libnonlinear.la
|
||||
libnonlinear_la_SOURCES = $(sources)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
AM_CXXFLAGS =
|
||||
|
||||
# link to serialization library for test
|
||||
if ENABLE_SERIALIZATION
|
||||
tests_testSerializationNonlinear_LDFLAGS = -lboost_serialization
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# rules to build local programs
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = libnonlinear.la ../linear/liblinear.la ../inference/libinference.la ../geometry/libgeometry.la ../base/libbase.la ../3rdparty/libccolamd.la
|
||||
LDADD += ../../CppUnitLite/libCppUnitLite.a
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
||||
# rule to run an executable
|
||||
%.run: % $(LDADD)
|
||||
./$^
|
||||
|
||||
# rule to run executable with valgrind
|
||||
%.valgrind: % $(LDADD)
|
||||
valgrind ./$^
|
||||
|
|
@ -1,95 +0,0 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# SLAM and SFM sources
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
|
||||
headers =
|
||||
sources =
|
||||
check_PROGRAMS =
|
||||
|
||||
# simulated2D example
|
||||
headers += simulated2DConstraints.h
|
||||
sources += simulated2D.cpp smallExample.cpp
|
||||
check_PROGRAMS += tests/testSimulated2D
|
||||
|
||||
# simulated2DOriented example
|
||||
sources += simulated2DOriented.cpp
|
||||
check_PROGRAMS += tests/testSimulated2DOriented
|
||||
|
||||
# simulated3D example
|
||||
sources += simulated3D.cpp
|
||||
check_PROGRAMS += tests/testSimulated3D
|
||||
|
||||
# Generic SLAM headers
|
||||
headers += BetweenFactor.h PriorFactor.h PartialPriorFactor.h
|
||||
headers += BearingFactor.h RangeFactor.h BearingRangeFactor.h
|
||||
headers += AntiFactor.h
|
||||
check_PROGRAMS += tests/testAntiFactor
|
||||
|
||||
# Generic constraint headers
|
||||
headers += BoundingConstraint.h
|
||||
|
||||
# 2D Pose SLAM
|
||||
sources += pose2SLAM.cpp dataset.cpp
|
||||
check_PROGRAMS += tests/testPose2SLAM
|
||||
|
||||
# 2D SLAM using Bearing and Range
|
||||
sources += planarSLAM.cpp
|
||||
check_PROGRAMS += tests/testPlanarSLAM
|
||||
|
||||
# 3D Pose constraints
|
||||
sources += pose3SLAM.cpp
|
||||
check_PROGRAMS += tests/testPose3SLAM
|
||||
|
||||
# Visual SLAM
|
||||
headers += GeneralSFMFactor.h ProjectionFactor.h
|
||||
sources += visualSLAM.cpp
|
||||
check_PROGRAMS += tests/testProjectionFactor tests/testVSLAM
|
||||
check_PROGRAMS += tests/testGeneralSFMFactor tests/testGeneralSFMFactor_Cal3Bundler
|
||||
|
||||
# StereoFactor
|
||||
headers += StereoFactor.h
|
||||
check_PROGRAMS += tests/testStereoFactor
|
||||
|
||||
## flag disabled to force this test to get updated properly
|
||||
if ENABLE_SERIALIZATION
|
||||
check_PROGRAMS += tests/testSerializationSLAM
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# Create a libtool library that is not installed
|
||||
# It will be packaged in the toplevel libgtsam.la as specfied in ../Makefile.am
|
||||
# The headers are installed in $(includedir)/gtsam:
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
headers += $(sources:.cpp=.h)
|
||||
slamdir = $(pkgincludedir)/slam
|
||||
slam_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = libslam.la
|
||||
libslam_la_SOURCES = $(sources)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
|
||||
# link to serialization library for test
|
||||
if ENABLE_SERIALIZATION
|
||||
tests_testSerializationSLAM_LDFLAGS = -lboost_serialization
|
||||
endif
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# rules to build local programs
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = libslam.la ../geometry/libgeometry.la ../nonlinear/libnonlinear.la ../linear/liblinear.la ../inference/libinference.la ../base/libbase.la ../3rdparty/libccolamd.la
|
||||
LDADD += ../../CppUnitLite/libCppUnitLite.a
|
||||
|
||||
# rule to run an executable
|
||||
%.run: % $(LDADD)
|
||||
./$^
|
||||
|
||||
# rule to run executable with valgrind
|
||||
%.valgrind: % $(LDADD)
|
||||
valgrind ./$^
|
312
m4/ac_doxygen.m4
312
m4/ac_doxygen.m4
|
@ -1,312 +0,0 @@
|
|||
# This file is part of Autoconf. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2004 Oren Ben-Kiki
|
||||
# This file is distributed under the same terms as the Autoconf macro files.
|
||||
|
||||
# Generate automatic documentation using Doxygen. Works in concert with the
|
||||
# aminclude.m4 file and a compatible doxygen configuration file. Defines the
|
||||
# following public macros:
|
||||
#
|
||||
# DX_???_FEATURE(ON|OFF) - control the default setting fo a Doxygen feature.
|
||||
# Supported features are 'DOXYGEN' itself, 'DOT' for generating graphics,
|
||||
# 'HTML' for plain HTML, 'CHM' for compressed HTML help (for MS users), 'CHI'
|
||||
# for generating a seperate .chi file by the .chm file, and 'MAN', 'RTF',
|
||||
# 'XML', 'PDF' and 'PS' for the appropriate output formats. The environment
|
||||
# variable DOXYGEN_PAPER_SIZE may be specified to override the default 'a4wide'
|
||||
# paper size.
|
||||
#
|
||||
# By default, HTML, PDF and PS documentation is generated as this seems to be
|
||||
# the most popular and portable combination. MAN pages created by Doxygen are
|
||||
# usually problematic, though by picking an appropriate subset and doing some
|
||||
# massaging they might be better than nothing. CHM and RTF are specific for MS
|
||||
# (note that you can't generate both HTML and CHM at the same time). The XML is
|
||||
# rather useless unless you apply specialized post-processing to it.
|
||||
#
|
||||
# The macro mainly controls the default state of the feature. The use can
|
||||
# override the default by specifying --enable or --disable. The macros ensure
|
||||
# that contradictory flags are not given (e.g., --enable-doxygen-html and
|
||||
# --enable-doxygen-chm, --enable-doxygen-anything with --disable-doxygen, etc.)
|
||||
# Finally, each feature will be automatically disabled (with a warning) if the
|
||||
# required programs are missing.
|
||||
#
|
||||
# Once all the feature defaults have been specified, call DX_INIT_DOXYGEN with
|
||||
# the following parameters: a one-word name for the project for use as a
|
||||
# filename base etc., an optional configuration file name (the default is
|
||||
# 'Doxyfile', the same as Doxygen's default), and an optional output directory
|
||||
# name (the default is 'doxygen-doc').
|
||||
|
||||
## ----------##
|
||||
## Defaults. ##
|
||||
## ----------##
|
||||
|
||||
DX_ENV=""
|
||||
AC_DEFUN([DX_FEATURE_doc], ON)
|
||||
AC_DEFUN([DX_FEATURE_dot], ON)
|
||||
AC_DEFUN([DX_FEATURE_man], OFF)
|
||||
AC_DEFUN([DX_FEATURE_html], ON)
|
||||
AC_DEFUN([DX_FEATURE_chm], OFF)
|
||||
AC_DEFUN([DX_FEATURE_chi], OFF)
|
||||
AC_DEFUN([DX_FEATURE_rtf], OFF)
|
||||
AC_DEFUN([DX_FEATURE_xml], OFF)
|
||||
AC_DEFUN([DX_FEATURE_pdf], ON)
|
||||
AC_DEFUN([DX_FEATURE_ps], ON)
|
||||
|
||||
## --------------- ##
|
||||
## Private macros. ##
|
||||
## --------------- ##
|
||||
|
||||
# DX_ENV_APPEND(VARIABLE, VALUE)
|
||||
# ------------------------------
|
||||
# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.
|
||||
AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])
|
||||
|
||||
# DX_DIRNAME_EXPR
|
||||
# ---------------
|
||||
# Expand into a shell expression prints the directory part of a path.
|
||||
AC_DEFUN([DX_DIRNAME_EXPR],
|
||||
[[expr ".$1" : '\(\.\)[^/]*$' \| "x$1" : 'x\(.*\)/[^/]*$']])
|
||||
|
||||
# DX_IF_FEATURE(FEATURE, IF-ON, IF-OFF)
|
||||
# -------------------------------------
|
||||
# Expands according to the M4 (static) status of the feature.
|
||||
AC_DEFUN([DX_IF_FEATURE], [ifelse(DX_FEATURE_$1, ON, [$2], [$3])])
|
||||
|
||||
# DX_REQUIRE_PROG(VARIABLE, PROGRAM)
|
||||
# ----------------------------------
|
||||
# Require the specified program to be found for the DX_CURRENT_FEATURE to work.
|
||||
AC_DEFUN([DX_REQUIRE_PROG], [
|
||||
AC_PATH_TOOL([$1], [$2])
|
||||
if test "$DX_FLAG_[]DX_CURRENT_FEATURE$$1" = 1; then
|
||||
AC_MSG_WARN([$2 not found - will not DX_CURRENT_DESCRIPTION])
|
||||
AC_SUBST([DX_FLAG_]DX_CURRENT_FEATURE, 0)
|
||||
fi
|
||||
])
|
||||
|
||||
# DX_TEST_FEATURE(FEATURE)
|
||||
# ------------------------
|
||||
# Expand to a shell expression testing whether the feature is active.
|
||||
AC_DEFUN([DX_TEST_FEATURE], [test "$DX_FLAG_$1" = 1])
|
||||
|
||||
# DX_CHECK_DEPEND(REQUIRED_FEATURE, REQUIRED_STATE)
|
||||
# -------------------------------------------------
|
||||
# Verify that a required features has the right state before trying to turn on
|
||||
# the DX_CURRENT_FEATURE.
|
||||
AC_DEFUN([DX_CHECK_DEPEND], [
|
||||
test "$DX_FLAG_$1" = "$2" \
|
||||
|| AC_MSG_ERROR([doxygen-DX_CURRENT_FEATURE ifelse([$2], 1,
|
||||
requires, contradicts) doxygen-DX_CURRENT_FEATURE])
|
||||
])
|
||||
|
||||
# DX_CLEAR_DEPEND(FEATURE, REQUIRED_FEATURE, REQUIRED_STATE)
|
||||
# ----------------------------------------------------------
|
||||
# Turn off the DX_CURRENT_FEATURE if the required feature is off.
|
||||
AC_DEFUN([DX_CLEAR_DEPEND], [
|
||||
test "$DX_FLAG_$1" = "$2" || AC_SUBST([DX_FLAG_]DX_CURRENT_FEATURE, 0)
|
||||
])
|
||||
|
||||
# DX_FEATURE_ARG(FEATURE, DESCRIPTION,
|
||||
# CHECK_DEPEND, CLEAR_DEPEND,
|
||||
# REQUIRE, DO-IF-ON, DO-IF-OFF)
|
||||
# --------------------------------------------
|
||||
# Parse the command-line option controlling a feature. CHECK_DEPEND is called
|
||||
# if the user explicitly turns the feature on (and invokes DX_CHECK_DEPEND),
|
||||
# otherwise CLEAR_DEPEND is called to turn off the default state if a required
|
||||
# feature is disabled (using DX_CLEAR_DEPEND). REQUIRE performs additional
|
||||
# requirement tests (DX_REQUIRE_PROG). Finally, an automake flag is set and
|
||||
# DO-IF-ON or DO-IF-OFF are called according to the final state of the feature.
|
||||
AC_DEFUN([DX_ARG_ABLE], [
|
||||
AC_DEFUN([DX_CURRENT_FEATURE], [$1])
|
||||
AC_DEFUN([DX_CURRENT_DESCRIPTION], [$2])
|
||||
AC_ARG_ENABLE(doxygen-$1,
|
||||
[AS_HELP_STRING(DX_IF_FEATURE([$1], [--disable-doxygen-$1],
|
||||
[--enable-doxygen-$1]),
|
||||
DX_IF_FEATURE([$1], [don't $2], [$2]))],
|
||||
[
|
||||
case "$enableval" in
|
||||
#(
|
||||
y|Y|yes|Yes|YES)
|
||||
AC_SUBST([DX_FLAG_$1], 1)
|
||||
$3
|
||||
;; #(
|
||||
n|N|no|No|NO)
|
||||
AC_SUBST([DX_FLAG_$1], 0)
|
||||
;; #(
|
||||
*)
|
||||
AC_MSG_ERROR([invalid value '$enableval' given to doxygen-$1])
|
||||
;;
|
||||
esac
|
||||
], [
|
||||
AC_SUBST([DX_FLAG_$1], [DX_IF_FEATURE([$1], 1, 0)])
|
||||
$4
|
||||
])
|
||||
if DX_TEST_FEATURE([$1]); then
|
||||
$5
|
||||
:
|
||||
fi
|
||||
if DX_TEST_FEATURE([$1]); then
|
||||
AM_CONDITIONAL(DX_COND_$1, :)
|
||||
$6
|
||||
:
|
||||
else
|
||||
AM_CONDITIONAL(DX_COND_$1, false)
|
||||
$7
|
||||
:
|
||||
fi
|
||||
])
|
||||
|
||||
## -------------- ##
|
||||
## Public macros. ##
|
||||
## -------------- ##
|
||||
|
||||
# DX_XXX_FEATURE(DEFAULT_STATE)
|
||||
# -----------------------------
|
||||
AC_DEFUN([DX_DOXYGEN_FEATURE], [AC_DEFUN([DX_FEATURE_doc], [$1])])
|
||||
AC_DEFUN([DX_MAN_FEATURE], [AC_DEFUN([DX_FEATURE_man], [$1])])
|
||||
AC_DEFUN([DX_HTML_FEATURE], [AC_DEFUN([DX_FEATURE_html], [$1])])
|
||||
AC_DEFUN([DX_CHM_FEATURE], [AC_DEFUN([DX_FEATURE_chm], [$1])])
|
||||
AC_DEFUN([DX_CHI_FEATURE], [AC_DEFUN([DX_FEATURE_chi], [$1])])
|
||||
AC_DEFUN([DX_RTF_FEATURE], [AC_DEFUN([DX_FEATURE_rtf], [$1])])
|
||||
AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])
|
||||
AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])
|
||||
AC_DEFUN([DX_PDF_FEATURE], [AC_DEFUN([DX_FEATURE_pdf], [$1])])
|
||||
AC_DEFUN([DX_PS_FEATURE], [AC_DEFUN([DX_FEATURE_ps], [$1])])
|
||||
|
||||
# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])
|
||||
# ---------------------------------------------------------
|
||||
# PROJECT also serves as the base name for the documentation files.
|
||||
# The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is "doxygen-doc".
|
||||
AC_DEFUN([DX_INIT_DOXYGEN], [
|
||||
|
||||
# Files:
|
||||
AC_SUBST([DX_PROJECT], [$1])
|
||||
AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])
|
||||
AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])
|
||||
|
||||
# Environment variables used inside doxygen.cfg:
|
||||
DX_ENV_APPEND(SRCDIR, $srcdir)
|
||||
DX_ENV_APPEND(PROJECT, $DX_PROJECT)
|
||||
DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)
|
||||
DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)
|
||||
|
||||
# Doxygen itself:
|
||||
DX_ARG_ABLE(doc, [generate any doxygen documentation],
|
||||
[],
|
||||
[],
|
||||
[DX_REQUIRE_PROG([DX_DOXYGEN], doxygen)
|
||||
DX_REQUIRE_PROG([DX_PERL], perl)],
|
||||
[DX_ENV_APPEND(PERL_PATH, $DX_PERL)])
|
||||
|
||||
# Dot for graphics:
|
||||
DX_ARG_ABLE(dot, [generate graphics for doxygen documentation],
|
||||
[DX_CHECK_DEPEND(doc, 1)],
|
||||
[DX_CLEAR_DEPEND(doc, 1)],
|
||||
[DX_REQUIRE_PROG([DX_DOT], dot)],
|
||||
[DX_ENV_APPEND(HAVE_DOT, YES)
|
||||
DX_ENV_APPEND(DOT_PATH, [`DX_DIRNAME_EXPR($DX_DOT)`])],
|
||||
[DX_ENV_APPEND(HAVE_DOT, NO)])
|
||||
|
||||
# Man pages generation:
|
||||
DX_ARG_ABLE(man, [generate doxygen manual pages],
|
||||
[DX_CHECK_DEPEND(doc, 1)],
|
||||
[DX_CLEAR_DEPEND(doc, 1)],
|
||||
[],
|
||||
[DX_ENV_APPEND(GENERATE_MAN, YES)],
|
||||
[DX_ENV_APPEND(GENERATE_MAN, NO)])
|
||||
|
||||
# RTF file generation:
|
||||
DX_ARG_ABLE(rtf, [generate doxygen RTF documentation],
|
||||
[DX_CHECK_DEPEND(doc, 1)],
|
||||
[DX_CLEAR_DEPEND(doc, 1)],
|
||||
[],
|
||||
[DX_ENV_APPEND(GENERATE_RTF, YES)],
|
||||
[DX_ENV_APPEND(GENERATE_RTF, NO)])
|
||||
|
||||
# XML file generation:
|
||||
DX_ARG_ABLE(xml, [generate doxygen XML documentation],
|
||||
[DX_CHECK_DEPEND(doc, 1)],
|
||||
[DX_CLEAR_DEPEND(doc, 1)],
|
||||
[],
|
||||
[DX_ENV_APPEND(GENERATE_XML, YES)],
|
||||
[DX_ENV_APPEND(GENERATE_XML, NO)])
|
||||
|
||||
# (Compressed) HTML help generation:
|
||||
DX_ARG_ABLE(chm, [generate doxygen compressed HTML help documentation],
|
||||
[DX_CHECK_DEPEND(doc, 1)],
|
||||
[DX_CLEAR_DEPEND(doc, 1)],
|
||||
[DX_REQUIRE_PROG([DX_HHC], hhc)],
|
||||
[DX_ENV_APPEND(HHC_PATH, $DX_HHC)
|
||||
DX_ENV_APPEND(GENERATE_HTML, YES)
|
||||
DX_ENV_APPEND(GENERATE_HTMLHELP, YES)],
|
||||
[DX_ENV_APPEND(GENERATE_HTMLHELP, NO)])
|
||||
|
||||
# Seperate CHI file generation.
|
||||
DX_ARG_ABLE(chi, [generate doxygen seperate compressed HTML help index file],
|
||||
[DX_CHECK_DEPEND(chm, 1)],
|
||||
[DX_CLEAR_DEPEND(chm, 1)],
|
||||
[],
|
||||
[DX_ENV_APPEND(GENERATE_CHI, YES)],
|
||||
[DX_ENV_APPEND(GENERATE_CHI, NO)])
|
||||
|
||||
# Plain HTML pages generation:
|
||||
DX_ARG_ABLE(html, [generate doxygen plain HTML documentation],
|
||||
[DX_CHECK_DEPEND(doc, 1) DX_CHECK_DEPEND(chm, 0)],
|
||||
[DX_CLEAR_DEPEND(doc, 1) DX_CLEAR_DEPEND(chm, 0)],
|
||||
[],
|
||||
[DX_ENV_APPEND(GENERATE_HTML, YES)],
|
||||
[DX_TEST_FEATURE(chm) || DX_ENV_APPEND(GENERATE_HTML, NO)])
|
||||
|
||||
# PostScript file generation:
|
||||
DX_ARG_ABLE(ps, [generate doxygen PostScript documentation],
|
||||
[DX_CHECK_DEPEND(doc, 1)],
|
||||
[DX_CLEAR_DEPEND(doc, 1)],
|
||||
[DX_REQUIRE_PROG([DX_LATEX], latex)
|
||||
DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
|
||||
DX_REQUIRE_PROG([DX_DVIPS], dvips)
|
||||
DX_REQUIRE_PROG([DX_EGREP], egrep)])
|
||||
|
||||
# PDF file generation:
|
||||
DX_ARG_ABLE(pdf, [generate doxygen PDF documentation],
|
||||
[DX_CHECK_DEPEND(doc, 1)],
|
||||
[DX_CLEAR_DEPEND(doc, 1)],
|
||||
[DX_REQUIRE_PROG([DX_PDFLATEX], pdflatex)
|
||||
DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
|
||||
DX_REQUIRE_PROG([DX_EGREP], egrep)])
|
||||
|
||||
# LaTeX generation for PS and/or PDF:
|
||||
if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then
|
||||
AM_CONDITIONAL(DX_COND_latex, :)
|
||||
DX_ENV_APPEND(GENERATE_LATEX, YES)
|
||||
else
|
||||
AM_CONDITIONAL(DX_COND_latex, false)
|
||||
DX_ENV_APPEND(GENERATE_LATEX, NO)
|
||||
fi
|
||||
|
||||
# Paper size for PS and/or PDF:
|
||||
AC_ARG_VAR(DOXYGEN_PAPER_SIZE,
|
||||
[a4wide (default), a4, letter, legal or executive])
|
||||
case "$DOXYGEN_PAPER_SIZE" in
|
||||
#(
|
||||
"")
|
||||
AC_SUBST(DOXYGEN_PAPER_SIZE, "")
|
||||
;; #(
|
||||
a4wide|a4|letter|legal|executive)
|
||||
DX_ENV_APPEND(PAPER_SIZE, $DOXYGEN_PAPER_SIZE)
|
||||
;; #(
|
||||
*)
|
||||
AC_MSG_ERROR([unknown DOXYGEN_PAPER_SIZE='$DOXYGEN_PAPER_SIZE'])
|
||||
;;
|
||||
esac
|
||||
|
||||
#For debugging:
|
||||
#echo DX_FLAG_doc=$DX_FLAG_doc
|
||||
#echo DX_FLAG_dot=$DX_FLAG_dot
|
||||
#echo DX_FLAG_man=$DX_FLAG_man
|
||||
#echo DX_FLAG_html=$DX_FLAG_html
|
||||
#echo DX_FLAG_chm=$DX_FLAG_chm
|
||||
#echo DX_FLAG_chi=$DX_FLAG_chi
|
||||
#echo DX_FLAG_rtf=$DX_FLAG_rtf
|
||||
#echo DX_FLAG_xml=$DX_FLAG_xml
|
||||
#echo DX_FLAG_pdf=$DX_FLAG_pdf
|
||||
#echo DX_FLAG_ps=$DX_FLAG_ps
|
||||
#echo DX_ENV=$DX_ENV
|
||||
])
|
|
@ -1,257 +0,0 @@
|
|||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_boost_base.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_BOOST_BASE([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Test for the Boost C++ libraries of a particular version (or newer)
|
||||
#
|
||||
# If no path to the installed boost library is given the macro searchs
|
||||
# under /usr, /usr/local, /opt and /opt/local and evaluates the
|
||||
# $BOOST_ROOT environment variable. Further documentation is available at
|
||||
# <http://randspringer.de/boost/index.html>.
|
||||
#
|
||||
# This macro calls:
|
||||
#
|
||||
# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS)
|
||||
#
|
||||
# And sets:
|
||||
#
|
||||
# HAVE_BOOST
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
|
||||
# Copyright (c) 2009 Peter Adolphs
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 18
|
||||
|
||||
AC_DEFUN([AX_BOOST_BASE],
|
||||
[
|
||||
AC_ARG_WITH([boost],
|
||||
[AS_HELP_STRING([--with-boost@<:@=ARG@:>@],
|
||||
[use Boost library from a standard location (ARG=yes),
|
||||
from the specified location (ARG=<path>),
|
||||
or disable it (ARG=no)
|
||||
@<:@ARG=yes@:>@ ])],
|
||||
[
|
||||
if test "$withval" = "no"; then
|
||||
want_boost="no"
|
||||
elif test "$withval" = "yes"; then
|
||||
want_boost="yes"
|
||||
ac_boost_path=""
|
||||
else
|
||||
want_boost="yes"
|
||||
ac_boost_path="$withval"
|
||||
fi
|
||||
],
|
||||
[want_boost="yes"])
|
||||
|
||||
|
||||
AC_ARG_WITH([boost-libdir],
|
||||
AS_HELP_STRING([--with-boost-libdir=LIB_DIR],
|
||||
[Force given directory for boost libraries. Note that this will overwrite library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.]),
|
||||
[
|
||||
if test -d "$withval"
|
||||
then
|
||||
ac_boost_lib_path="$withval"
|
||||
else
|
||||
AC_MSG_ERROR(--with-boost-libdir expected directory name)
|
||||
fi
|
||||
],
|
||||
[ac_boost_lib_path=""]
|
||||
)
|
||||
|
||||
if test "x$want_boost" = "xyes"; then
|
||||
boost_lib_version_req=ifelse([$1], ,1.20.0,$1)
|
||||
boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'`
|
||||
boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'`
|
||||
boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
|
||||
boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
|
||||
if test "x$boost_lib_version_req_sub_minor" = "x" ; then
|
||||
boost_lib_version_req_sub_minor="0"
|
||||
fi
|
||||
WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
|
||||
AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req)
|
||||
succeeded=no
|
||||
|
||||
dnl On x86_64 systems check for system libraries in both lib64 and lib.
|
||||
dnl The former is specified by FHS, but e.g. Debian does not adhere to
|
||||
dnl this (as it rises problems for generic multi-arch support).
|
||||
dnl The last entry in the list is chosen by default when no libraries
|
||||
dnl are found, e.g. when only header-only libraries are installed!
|
||||
libsubdirs="lib"
|
||||
if test `uname -m` = x86_64; then
|
||||
libsubdirs="lib64 lib lib64"
|
||||
fi
|
||||
|
||||
dnl first we check the system location for boost libraries
|
||||
dnl this location ist chosen if boost libraries are installed with the --layout=system option
|
||||
dnl or if you install boost with RPM
|
||||
if test "$ac_boost_path" != ""; then
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path/include"
|
||||
for ac_boost_path_tmp in $libsubdirs; do
|
||||
if test -d "$ac_boost_path"/"$ac_boost_path_tmp" ; then
|
||||
BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp"
|
||||
break
|
||||
fi
|
||||
done
|
||||
elif test "$cross_compiling" != yes; then
|
||||
for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do
|
||||
if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir"
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
|
||||
break;
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
dnl overwrite ld flags if we have required special directory with
|
||||
dnl --with-boost-libdir parameter
|
||||
if test "$ac_boost_lib_path" != ""; then
|
||||
BOOST_LDFLAGS="-L$ac_boost_lib_path"
|
||||
fi
|
||||
|
||||
CPPFLAGS_SAVED="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
|
||||
LDFLAGS_SAVED="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_REQUIRE([AC_PROG_CXX])
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
@%:@include <boost/version.hpp>
|
||||
]], [[
|
||||
#if BOOST_VERSION >= $WANT_BOOST_VERSION
|
||||
// Everything is okay
|
||||
#else
|
||||
# error Boost version is too old
|
||||
#endif
|
||||
]])],[
|
||||
AC_MSG_RESULT(yes)
|
||||
succeeded=yes
|
||||
found_system=yes
|
||||
],[
|
||||
])
|
||||
AC_LANG_POP([C++])
|
||||
|
||||
|
||||
|
||||
dnl if we found no boost with system layout we search for boost libraries
|
||||
dnl built and installed without the --layout=system option or for a staged(not installed) version
|
||||
if test "x$succeeded" != "xyes"; then
|
||||
_version=0
|
||||
if test "$ac_boost_path" != ""; then
|
||||
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
|
||||
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
|
||||
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
||||
V_CHECK=`expr $_version_tmp \> $_version`
|
||||
if test "$V_CHECK" = "1" ; then
|
||||
_version=$_version_tmp
|
||||
fi
|
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
||||
BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
|
||||
done
|
||||
fi
|
||||
else
|
||||
if test "$cross_compiling" != yes; then
|
||||
for ac_boost_path in /usr /usr/local /opt /opt/local ; do
|
||||
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
|
||||
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
|
||||
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
|
||||
V_CHECK=`expr $_version_tmp \> $_version`
|
||||
if test "$V_CHECK" = "1" ; then
|
||||
_version=$_version_tmp
|
||||
best_path=$ac_boost_path
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
|
||||
BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
|
||||
if test "$ac_boost_lib_path" = ""; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
BOOST_LDFLAGS="-L$best_path/$libsubdir"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$BOOST_ROOT" != "x"; then
|
||||
for libsubdir in $libsubdirs ; do
|
||||
if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi
|
||||
done
|
||||
if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then
|
||||
version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
|
||||
stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
|
||||
stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'`
|
||||
V_CHECK=`expr $stage_version_shorten \>\= $_version`
|
||||
if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then
|
||||
AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT)
|
||||
BOOST_CPPFLAGS="-I$BOOST_ROOT"
|
||||
BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
|
||||
export CPPFLAGS
|
||||
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
|
||||
export LDFLAGS
|
||||
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
@%:@include <boost/version.hpp>
|
||||
]], [[
|
||||
#if BOOST_VERSION >= $WANT_BOOST_VERSION
|
||||
// Everything is okay
|
||||
#else
|
||||
# error Boost version is too old
|
||||
#endif
|
||||
]])],[
|
||||
AC_MSG_RESULT(yes)
|
||||
succeeded=yes
|
||||
found_system=yes
|
||||
],[
|
||||
])
|
||||
AC_LANG_POP([C++])
|
||||
fi
|
||||
|
||||
if test "$succeeded" != "yes" ; then
|
||||
if test "$_version" = "0" ; then
|
||||
AC_MSG_NOTICE([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
|
||||
else
|
||||
AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
|
||||
fi
|
||||
# execute ACTION-IF-NOT-FOUND (if present):
|
||||
ifelse([$3], , :, [$3])
|
||||
else
|
||||
AC_SUBST(BOOST_CPPFLAGS)
|
||||
AC_SUBST(BOOST_LDFLAGS)
|
||||
AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
|
||||
# execute ACTION-IF-FOUND (if present):
|
||||
ifelse([$2], , :, [$2])
|
||||
fi
|
||||
|
||||
CPPFLAGS="$CPPFLAGS_SAVED"
|
||||
LDFLAGS="$LDFLAGS_SAVED"
|
||||
fi
|
||||
|
||||
])
|
|
@ -1 +0,0 @@
|
|||
../configure --prefix=$HOME --enable-install-cppunitlite CFLAGS="-fno-inline -g -Wall" CXXFLAGS="-fno-inline -g -Wall" LDFLAGS="-fno-inline -g -Wall" --disable-static --disable-fast-install
|
|
@ -1 +0,0 @@
|
|||
../configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi -prefix=/usr CFLAGS="-fno-inline -g -Wall" CXXFLAGS="-fno-inline -g -Wall" LDFLAGS="-fno-inline -g -Wall" --disable-static
|
|
@ -1 +0,0 @@
|
|||
../configure --prefix=$HOME --with-toolbox=$HOME/toolbox --enable-build-toolbox --enable-install-matlab-tests --enable-install-matlab-examples --enable-install-wrap --with-wrap=$HOME/bin --enable-install-cppunitlite CFLAGS="-fno-inline -g -Wall" CXXFLAGS="-fno-inline -g -Wall" LDFLAGS="-fno-inline -g -Wall" --disable-static --disable-fast-install
|
|
@ -1 +0,0 @@
|
|||
GCC=/home/uuv/overo-oe/tmp/cross/armv7a/bin/arm-angstrom-linux-gnueabi-gcc CXX=$OVEROTOP/tmp/cross/armv7a/bin/arm-angstrom-linux-gnueabi-g++ CC=$OVEROTOP/tmp/cross/armv7a/bin/arm-angstrom-linux-gnueabi-gcc LD=$OVEROTOP/tmp/cross/armv7a/bin/arm-angstrom-linux-gnueabi-ld ./configure --prefix=$HOME --build=i686-pc-linux-gnu --host=arm-angstrom-linux-gnueabi --with-boost=$OVERO_ROOT/usr/include CXXFLAGS="--sysroot=$OVEROTOP/tmp/staging/armv7a-angstrom-linux-gnueabi -g -O3 -DNDEBUG" CCFLAGS="--sysroot=$OVEROTOP/tmp/staging/armv7a-angstrom-linux-gnueabi -g -O3 -DNDEBUG" --disable-static
|
|
@ -1,3 +0,0 @@
|
|||
|
||||
#../configure --disable-fast-install --prefix=$HOME/borg-simplelinear CXXFLAGS="-fno-inline -g -D_GLIBCXX_DEBUG -DNDEBUG" CFLAGS="-fno-inline -g -D_GLIBCXX_DEBUG -DNDEBUG" LDFLAGS="-fno-inline -g " --disable-static
|
||||
../configure --prefix=$HOME/borg CPPFLAGS="-g -DNDEBUG -O3" LDFLAGS="-g -DNDEBUG -O3" --disable-static
|
|
@ -1,3 +0,0 @@
|
|||
../configure --prefix=$HOME CPP="/opt/local/bin/cpp-mp-4.5" CC="/opt/local/bin/gcc-mp-4.5" CXX="/opt/local/bin/g++-mp-4.5" CPPFLAGS="-DENABLE_TIMING -DNDEBUG -O3" LDFLAGS="-DNDEBUG -O3" --disable-static
|
||||
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# GTSAM tests
|
||||
# More elaborate unit tests that test functionality with slam examples
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
|
||||
check_PROGRAMS =
|
||||
check_PROGRAMS += testGaussianBayesNet testGaussianFactor testGaussianFactorGraph
|
||||
check_PROGRAMS += testGaussianISAM
|
||||
check_PROGRAMS += testGraph
|
||||
check_PROGRAMS += testInference
|
||||
check_PROGRAMS += testGaussianJunctionTree
|
||||
check_PROGRAMS += testNonlinearEquality testNonlinearFactor testNonlinearFactorGraph
|
||||
check_PROGRAMS += testNonlinearOptimizer testDoglegOptimizer
|
||||
check_PROGRAMS += testSymbolicBayesNet testSymbolicFactorGraph
|
||||
#check_PROGRAMS += testTupleValues
|
||||
check_PROGRAMS += testNonlinearISAM
|
||||
check_PROGRAMS += testBoundingConstraint
|
||||
#check_PROGRAMS += testPose2SLAMwSPCG
|
||||
check_PROGRAMS += testGaussianISAM2
|
||||
check_PROGRAMS += testExtendedKalmanFilter
|
||||
check_PROGRAMS += testRot3Optimization
|
||||
|
||||
# Timing tests
|
||||
noinst_PROGRAMS = timeGaussianFactorGraph timeSequentialOnDataset timeMultifrontalOnDataset
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# rules to build unit tests
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir)
|
||||
|
||||
LDADD = ../gtsam/libgtsam.la ../CppUnitLite/libCppUnitLite.a
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
||||
# rule to run an executable
|
||||
%.run: % $(LDADD)
|
||||
./$^
|
||||
|
||||
# rule to run executable with valgrind
|
||||
%.valgrind: % $(LDADD)
|
||||
valgrind ./$^
|
146
wrap/Makefile.am
146
wrap/Makefile.am
|
@ -1,146 +0,0 @@
|
|||
#----------------------------------------------------------------------------------------------------
|
||||
# GTSAM Matlab wrap toolset
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
# use nostdinc to turn off -I. and -I.., we do not need them because
|
||||
# header files are qualified so they can be included in external projects.
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
AM_DEFAULT_SOURCE_EXT = .cpp
|
||||
|
||||
headers =
|
||||
sources =
|
||||
check_PROGRAMS =
|
||||
noinst_PROGRAMS =
|
||||
wrap_PROGRAMS =
|
||||
wrapdir = $(includedir)/wrap
|
||||
|
||||
# disable all of matlab toolbox build by default
|
||||
if ENABLE_BUILD_TOOLBOX
|
||||
|
||||
# Build a library from the core sources
|
||||
sources += utilities.cpp Argument.cpp ReturnValue.cpp Constructor.cpp
|
||||
sources += Method.cpp StaticMethod.cpp Class.cpp Module.cpp FileWriter.cpp
|
||||
check_PROGRAMS += tests/testSpirit tests/testWrap
|
||||
|
||||
# Manually install wrap later
|
||||
noinst_PROGRAMS += wrap
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# Create a libtool library that is not installed
|
||||
# The headers are installed in $(includedir)/wrap:
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# Only install the header necessary for wrap interfaces to build with mex
|
||||
headers += matlab.h
|
||||
wrap_HEADERS = $(headers)
|
||||
noinst_LTLIBRARIES = libwrap.la
|
||||
libwrap_la_SOURCES = $(sources)
|
||||
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(top_srcdir) -DTOPSRCDIR="\"$(top_srcdir)\""
|
||||
AM_LDFLAGS = $(BOOST_LDFLAGS)
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
# rules to build local programs
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
TESTS = $(check_PROGRAMS)
|
||||
AM_LDFLAGS += $(boost_serialization)
|
||||
LDADD = libwrap.la ../CppUnitLite/libCppUnitLite.a
|
||||
|
||||
# rule to run an executable
|
||||
%.run: % $(LDADD)
|
||||
./$^
|
||||
|
||||
# rule to run executable with valgrind
|
||||
%.valgrind: % $(LDADD)
|
||||
valgrind ./$^
|
||||
|
||||
# generate local toolbox dir
|
||||
interfacePath = $(top_srcdir)
|
||||
moduleName = gtsam
|
||||
toolboxpath = ../toolbox
|
||||
|
||||
# Set flags to pass to mex
|
||||
mexFlags =
|
||||
if ENABLE_UNSAFE_WRAP
|
||||
mexFlags += "${BOOST_CPPFLAGS} -DUNSAFE_WRAP -I${prefix}/include -I${prefix}/include/gtsam -I${prefix}/include/gtsam/base -I${prefix}/include/gtsam/geometry -I${prefix}/include/gtsam/linear -I${prefix}/include/gtsam/nonlinear -I${prefix}/include/gtsam/slam -L${exec_prefix}/lib -lgtsam"
|
||||
else
|
||||
mexFlags += "${BOOST_CPPFLAGS} -I${prefix}/include -I${prefix}/include/gtsam -I${prefix}/include/gtsam/base -I${prefix}/include/gtsam/geometry -I${prefix}/include/gtsam/linear -I${prefix}/include/gtsam/nonlinear -I${prefix}/include/gtsam/slam -L${exec_prefix}/lib -lgtsam"
|
||||
endif
|
||||
|
||||
# Find the extension for mex binaries
|
||||
# this should be done with mexext with matlab
|
||||
mexextension =
|
||||
if LINUX
|
||||
if IS_64BIT
|
||||
mexextension += mexa64
|
||||
else
|
||||
mexextension += mexglx
|
||||
endif
|
||||
else # Linux
|
||||
if DARWIN
|
||||
mexextension += mexmaci64
|
||||
else
|
||||
mexextension += mex_bin
|
||||
endif
|
||||
endif # Linux
|
||||
|
||||
# Choose correct cp command by OS
|
||||
# In linux, this will only copy the file if it is an update
|
||||
# Macs use an older version of cp that doesn't support the -u flag
|
||||
cp_install =
|
||||
if LINUX
|
||||
cp_install += cp -ru
|
||||
endif
|
||||
if DARWIN
|
||||
cp_install += cp -Rf
|
||||
endif
|
||||
|
||||
all: generate_toolbox
|
||||
|
||||
generate_toolbox: $(top_srcdir)/gtsam.h wrap
|
||||
./wrap ${mexextension} ${interfacePath} ${moduleName} ${toolboxpath} ${mexFlags}
|
||||
|
||||
source_mode = -m 644
|
||||
|
||||
wrap-install-matlab-toolbox: generate_toolbox
|
||||
install -d ${toolbox}/gtsam
|
||||
${cp_install} ../toolbox/*.m ${toolbox}/gtsam
|
||||
${cp_install} ../toolbox/*.cpp ${toolbox}/gtsam
|
||||
${cp_install} ../toolbox/Makefile ${toolbox}/gtsam
|
||||
${cp_install} ../toolbox/@* ${toolbox}/gtsam
|
||||
|
||||
wrap-install-bin: wrap
|
||||
install -d ${wrap}
|
||||
install -c ./wrap ${wrap}
|
||||
|
||||
wrap-install-matlab-tests:
|
||||
install -d ${toolbox}/gtsam/tests
|
||||
install ${source_mode} -c ../../tests/matlab/*.m ${toolbox}/gtsam/tests
|
||||
|
||||
wrap-install-matlab-examples:
|
||||
install -d ${toolbox}/gtsam/examples
|
||||
install ${source_mode} -c ../../examples/matlab/*.m ${toolbox}/gtsam/examples
|
||||
|
||||
wrap_install_targets =
|
||||
wrap_install_targets += wrap-install-matlab-toolbox
|
||||
|
||||
if ENABLE_INSTALL_WRAP
|
||||
wrap_install_targets += wrap-install-bin
|
||||
endif
|
||||
|
||||
if ENABLE_INSTALL_MATLAB_TESTS
|
||||
wrap_install_targets += wrap-install-matlab-tests
|
||||
endif
|
||||
|
||||
if ENABLE_INSTALL_MATLAB_EXAMPLES
|
||||
wrap_install_targets += wrap-install-matlab-examples
|
||||
endif
|
||||
|
||||
install-exec-hook: ${wrap_install_targets}
|
||||
|
||||
# clean local toolbox dir
|
||||
clean:
|
||||
@test -z "wrap" || rm -f wrap
|
||||
@test -z "../toolbox" || rm -rf ../toolbox
|
||||
|
||||
endif
|
||||
#----------------------------------------------------------------------------------------------------
|
Loading…
Reference in New Issue