Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 110 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
language: cpp

# Activate ccache.
# This setting adjusts PATH automatically, so CMake will use it.
cache: ccache

# Precise is too old for Qt5 applications, so request a trusty image.
dist: trusty

# While sudo commands are not used during the build, not all packages
# are yet (2016/11) on the whitelist for container-based trusty images.
#
# Once all packages listed below are on the whitelist, consider
# changing this to "false" for speedups.
sudo: required

# Install dependencies using the addons.apt.packages syntax.
# This syntax will also work for container-based images, as soon as all
# packages are on the whitelist.
#
# The dependency list is mainly inspired by the Debian packaging of ball.
addons:
apt:
packages:
- build-essential
- debhelper
- dh-python
- cmake
- flex
- bison
- python-dev
- python-sip-dev
- libfftw3-dev
- libeigen3-dev
- libgsl0-dev
- libxrender-dev
- libxmu-dev
- libglew-dev
- libx11-dev
- tidy
- chrpath
- qtbase5-dev
- qttools5-dev
- qttools5-dev-tools
- libqt5opengl5-dev
# Remove boost 1.54
- libboost-all-dev-
# And install 1.55 instead
- libboost1.55-all-dev
# Also enable building the docs
- doxygen
- graphviz
- ghostscript
- texlive-latex-base
- texlive-latex-recommended
- texlive-latex-extra
# latex-xcolor is only *recommended* by
# texlive-latex-recommended and thus must be
# installed explicitly.
- latex-xcolor
# Same for texlive-fonts-recommended
- texlive-fonts-recommended

# Dependency installation and compilation step.
#
# If this fails, the build will be marked as 'errored'.
install:
# set ball data path while we're at the source
# toplevel directory. The unit tests will later
# need this variable.
- export BALL_DATA_PATH=$(pwd)/data
# create build/ folder
- mkdir build
- cd build
# Configure the software with CMake
#
# TODO: QtWebEngine is not yet packaged in Debian/Ubuntu,
# so we cannot build using it. Change this flag once
# it is packaged.
#
# see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=832420
- cmake .. -DUSE_QTWEBENGINE=OFF
# Now build all the targets, including installation, which pulls
# in the tool binaries.
- make -j2 BALL VIEW BALLView doc_dot doc_tutorial build_tests
install DESTDIR=/tmp/target/

# Execute the unittests as the main job.
#
# If this fails, the build will be marked as 'failed'.
script:
- ctest --output-on-failure

# Show ccache effectiveness after running the unittests
after_script:
- ccache -s

# If the build succeeded, pack up the generated files
# and print the total size.
#
# In the future, this could be uploaded somewhere™ to
# act as a reference compile and speed up binary bisecting.
after_success:
- REVISION=$(git rev-parse --short HEAD)
- tar --create --auto-compress --owner root --group root
--file /tmp/ball-$REVISION.tar.bz2
--directory /tmp/target ./
# Replace this ls by an upload, once a destination
# is available.
- ls -lh /tmp/ball-$REVISION.tar.bz2
6 changes: 3 additions & 3 deletions cmake/BALLDoc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,11 @@ IF (LATEX_COMPILER AND DVIPS_CONVERTER)
COMMAND ${CMAKE_COMMAND} -E echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
COMMAND ${CMAKE_COMMAND} -E echo "Creating BALL pdf tutorial"
COMMAND ${CMAKE_COMMAND} -E echo ""
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_SOURCE_DIR}/doc/TUTORIAL/ ${PDFLATEX_COMPILER} tutorial.tex
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_SOURCE_DIR}/doc/TUTORIAL/ ${PDFLATEX_COMPILER} -interaction=nonstopmode tutorial.tex
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_SOURCE_DIR}/doc/TUTORIAL/ ${BIBTEX_COMPILER} tutorial
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_SOURCE_DIR}/doc/TUTORIAL/ ${MAKEINDEX_COMPILER} tutorial.idx
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_SOURCE_DIR}/doc/TUTORIAL/ ${PDFLATEX_COMPILER} tutorial.tex
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_SOURCE_DIR}/doc/TUTORIAL/ ${PDFLATEX_COMPILER} tutorial.tex
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_SOURCE_DIR}/doc/TUTORIAL/ ${PDFLATEX_COMPILER} -interaction=nonstopmode tutorial.tex
COMMAND ${CMAKE_COMMAND} -E chdir ${PROJECT_SOURCE_DIR}/doc/TUTORIAL/ ${PDFLATEX_COMPILER} -interaction=nonstopmode tutorial.tex
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/doc/TUTORIAL/tutorial.pdf doc/tutorial.pdf
COMMAND ${CMAKE_COMMAND} -E echo ""
COMMAND ${CMAKE_COMMAND} -E echo "The BALL tutorial in PDF format has been successfully created:"
Expand Down
4 changes: 2 additions & 2 deletions doc/tools/makedoc
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,8 @@ build_tex_docu ()

$DOCPP_PATH $DOCPP_TEX_OPTIONS $BALL_PATH/doc/tex/BALL.tex $BALL_PATH/include/BALL/BALL.doc\
&& cd $BALL_PATH/doc/tex/\
&& latex BALL\
&& latex BALL\
&& latex -interaction=nonstopmode BALL\
&& latex -interaction=nonstopmode BALL\
&& dvipdf BALL.dvi\
&& mv BALL.pdf ..
}
Expand Down
16 changes: 16 additions & 0 deletions include/BALL/CONCEPT/classTest.h
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,22 @@ int main(int argc, char **argv)\
std::cout << " (message is: " << e.getMessage() << ")" << std::endl;\
}\
}\
catch (std::exception& e)\
{\
TEST::this_test = false;\
TEST::test = false;\
TEST::all_tests = false;\
if ((TEST::verbose > 1) || (!TEST::this_test && (TEST::verbose > 0)))\
{\
if (!TEST::newline) \
{\
TEST::newline = true;\
std::cout << std::endl;\
}\
std::cout << " (caught STL exception!)" << std::endl;\
std::cout << " (what(): " << e.what() << ")" << std::endl;\
}\
}\
catch (...)\
{\
TEST::this_test = false;\
Expand Down
2 changes: 1 addition & 1 deletion source/TEST/data/PoseClustering_wardtree.dat
Original file line number Diff line number Diff line change
@@ -1 +1 @@
22 serialization::archive 13 0 0 15 14 0 0 1 0 0 1 0.000000000e+00 1 0 1 1 0.000000000e+00 1 0 2 1 0.000000000e+00 1 0 3 1 0.000000000e+00 1 0 4 1 0.000000000e+00 1 0 5 1 0.000000000e+00 1 0 6 1 0.000000000e+00 1 0 7 1 0.000000000e+00 0 0 2 2.930124538e-05 0 0 3 1.017511487e+00 0 0 4 2.349177122e+00 0 0 2 9.453108311e-01 0 0 2 1.095688367e-05 0 0 4 5.062472916e+01 0 0 8 5.839497375e+01 8 1 0 0 8 0 9 3 9 8 10 2 10 9 11 7 11 6 12 4 12 5 13 12 13 11 14 13 14 10 14
22 serialization::archive 10 0 0 15 14 0 0 1 0 0 1 0 1 0 1 1 0 1 0 2 1 0 1 0 3 1 0 1 0 4 1 0 1 0 5 1 0 1 0 6 1 0 1 0 7 1 0 0 0 2 2.9301245e-05 0 0 3 1.0175115 0 0 4 2.3491771 0 0 2 0.94531083 0 0 2 1.0956884e-05 0 0 4 50.624729 0 0 8 58.394974 8 1 0 0 8 0 9 3 9 8 10 2 10 9 11 7 11 6 12 4 12 5 13 12 13 11 14 13 14 10 14