Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/copyme/DGtal into ParDirC…
Browse files Browse the repository at this point in the history
…ollapse
  • Loading branch information
copyme committed Dec 23, 2016
2 parents b985337 + b4367bc commit d9c346e
Show file tree
Hide file tree
Showing 61 changed files with 2,256 additions and 728 deletions.
47 changes: 18 additions & 29 deletions .travis.yml
Expand Up @@ -26,7 +26,7 @@ notifications:
########
env:
- CONFIG="Debug,Magick,GMP,ITK,FFTW3"
- CONFIG="Debug,Cairo,QGLviewer,HDF5"
- CONFIG="Debug,Cairo,QGLviewer,HDF5,EIGEN"
- CONFIG="Documentation"
- CONFIG="DGtalTools"

Expand All @@ -45,6 +45,7 @@ matrix:
- os: osx
compiler: gcc


addons:
apt:
sources:
Expand All @@ -68,52 +69,40 @@ addons:
- gcc-4.8
- libfftw3-dev


before_install:
- if [ $CXX == "g++" ]; then CCOMPILER="gcc-4.8"; CXXCOMPILER="g++-4.8"; fi
- BUILD_DOC="false"
- UPLOAD_DOC="false"
- NEEDCORE="true";
- NEEDEXAMPLESANDTESTS="true";
- if [ $CONFIG == "Documentation" ]; then NEEDEXAMPLESANDTESTS="false"; NEEDCORE="false"; BUILD_DOC="true"; if [ $OriginalRepo == "true" ]; then if [ $TRAVIS_PULL_REQUEST == "false" ]; then UPLOAD_DOC="true"; fi; fi; fi
- if [ $CONFIG == "Debug,Magick,GMP,ITK,FFTW3" ]; then BTYPE="-DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true -DWITH_FFTW3=true -DBUILD_TESTING=ON -DWARNING_AS_ERROR=ON"; fi
- if [ $CONFIG == "Debug,Cairo,QGLviewer,HDF5" ]; then BTYPE="-DCMAKE_BUILD_TYPE=Debug -DWITH_HDF5=true -DWITH_CAIRO=true -DWITH_QGLVIEWER=true -DBUILD_TESTING=ON -DWARNING_AS_ERROR=OFF"; fi
- if [ $CONFIG == "DGtalTools" ]; then NEEDEXAMPLESANDTESTS="false"; BTYPE="-DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true -DWITH_HDF5=true -DWITH_CAIRO=true -DWITH_QGLVIEWER=true -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=off"; fi
- source .travis/before_global.sh
- echo "C++ ===> $CXXCOMPILER"
- if [ $CONFIG == "Debug,Cairo,QGLviewer,HDF5,EIGEN" ]; then source .travis/install_eigen.sh ; cd $TRAVIS_BUILD_DIR; fi
- echo $EIGEN_ROOT
- if [ $CONFIG == "Documentation" ]; then export NEEDEXAMPLESANDTESTS="false"; export NEEDCORE="false"; export BUILD_DOC="true"; if [ $OriginalRepo == "true" ]; then if [ $TRAVIS_PULL_REQUEST == "false" ]; then export UPLOAD_DOC="true"; fi; fi; fi
- if [ $CONFIG == "Debug,Magick,GMP,ITK,FFTW3" ]; then export BTYPE="-DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true -DWITH_FFTW3=true -DBUILD_TESTING=ON -DWARNING_AS_ERROR=ON"; fi
- if [ $CONFIG == "Debug,Cairo,QGLviewer,HDF5,EIGEN" ]; then export BTYPE="-DCMAKE_BUILD_TYPE=Debug -DWITH_HDF5=true -DWITH_CAIRO=true -DWITH_QGLVIEWER=true -DBUILD_TESTING=ON -DWITH_EIGEN=true -DWARNING_AS_ERROR=OFF -DEIGEN3_INCLUDE_DIR='$EIGEN_ROOT/include/eigen3'"; fi
- if [ $CONFIG == "DGtalTools" ]; then export NEEDEXAMPLESANDTESTS="false"; export BTYPE="-DCMAKE_BUILD_TYPE=Debug -DWITH_MAGICK=true -DWITH_GMP=true -DWITH_HDF5=true -DWITH_CAIRO=true -DWITH_QGLVIEWER=true -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=off"; fi
- if [ $UPLOAD_DOC == "true" ]; then openssl aes-256-cbc -K $encrypted_47769ec71275_key -iv $encrypted_47769ec71275_iv -in .travis/dgtal_rsa.enc -out .travis/dgtal_rsa -d; chmod 600 .travis/dgtal_rsa; BUILD_DOC="true"; fi
- if [ $BUILD_DOC == "true" ]; then wget http://dgtal.org/doc/tags/DGtalTools-tagfile; fi
- if [ $BUILD_DOC == "true" ]; then .travis/install_doxygen.sh; BTYPE="-DDOXYGEN_EXECUTABLE=$HOME/doxygen/doxygen-1.8.10/bin/doxygen"; fi
- if [ $BUILD_DOC == "true" ]; then .travis/install_doxygen.sh; export BTYPE="-DDOXYGEN_EXECUTABLE=$HOME/doxygen/doxygen-1.8.10/bin/doxygen"; fi


########
# Deps.
########
before_script:
- if [ $TRAVIS_OS_NAME == linux ]; then echo "All done."; fi
- if [ $TRAVIS_OS_NAME == osx ]; then brew update; brew install boost doxygen homebrew/science/hdf5 graphviz graphicsmagick gmp libqglviewer fftw; echo "done";fi
- if [ $TRAVIS_OS_NAME == osx ]; then source .travis/install_deps_macos.sh; fi


############
# Main rules
############
script:
- cmake . $BTYPE -DCMAKE_CXX_COMPILER=$CXXCOMPILER -DCMAKE_C_COMPILER=$CCOMPILER
- echo $BUILD_DOC
- echo $UPLOAD_DOC
- echo $BTYPE
- if [ $NEEDCORE == "true" ]; then make -j 3 DGtal && make -j 3 DGtalIO; fi
- if [ $NEEDEXAMPLESANDTESTS == "true" ]; then cd examples && make -j 3 ; fi
- if [ $NEEDEXAMPLESANDTESTS == "true" ]; then cd ../tests && make -j 3 && cd .. ; fi
- if [ $NEEDEXAMPLESANDTESTS == "true" ]; then make test ARGS=--output-on-failure ; fi
- if [ $CONFIG == "DGtalTools" ]; then pwd ; .travis/getAndCheckDGtalTools.sh ; fi
- if [ $BUILD_DOC == "true" ]; then make doc; fi
- if [ $CONFIG == "Documentation" ]; then ./.travis/checkDoxygenDocumentation.sh; fi
- echo "---- $BTYPE ---$BUILD_DOC---$UPLOAD_DOC"
- .travis/main_build.sh
- if [ $CONFIG == "DGtalTools" ]; then .travis/getAndCheckDGtalTools.sh ; fi
- if [ $CONFIG == "Documentation" ]; then .travis/checkDoxygenDocumentation.sh; fi


###########
## Building the documentation
###########
after_success:
- if [ $UPLOAD_DOC == "true" ]; then rsync -azv --delete --delete-after -e 'ssh -oStrictHostKeyChecking=no -i .travis/dgtal_rsa' html/ dgtal@liris.cnrs.fr:/home/dgtal/public_html/doc/nightly/; fi
- if [ $UPLOAD_DOC == "true" ]; then cd html; make ; wget http://dgtal.org/doc/docset/template.tgz ; tar zxvf template.tgz ; mv template/* org.dgtal.docset ; tar zcvf DGtal-devel.tgz org.dgtal.docset ; cd .. ;rsync -azv --delete --delete-after -e 'ssh -oStrictHostKeyChecking=no -i .travis/dgtal_rsa' html/DGtal-devel.tgz dgtal@liris.cnrs.fr:/home/dgtal/public_html/doc/docset ; fi
## We publish the DGtalTools tags
- if [ $UPLOAD_DOC == "true" ]; then scp -i .travis/dgtal_rsa DGtal-tagfile dgtal@liris.cnrs.fr:/home/dgtal/public_html/doc/tags/;scp -i .travis/dgtal_rsa Board-tagfile dgtal@liris.cnrs.fr:/home/dgtal/public_html/doc/tags/; fi
- echo "All done..."
- if [ $UPLOAD_DOC == "true" ]; then .travis/publish_doc.sh; fi
22 changes: 22 additions & 0 deletions .travis/before_global.sh
@@ -0,0 +1,22 @@
#!/bin/bash

export BUILD_DOC="false"
export UPLOAD_DOC="false"
export NEEDCORE="true"

export NEEDEXAMPLESANDTESTS="true";
export SRC_DIR="`pwd`"

export CCOMPILER=$CC
export CXXCOMPILER=$CXX

##Forcing gcc-4.8
if [ $CC = "gcc" ];
then
export CCOMPILER="gcc-4.8"
export CXXCOMPILER="g++-4.8"
fi

##Preparing folders
mkdir deps/
mkdir deps/local
2 changes: 1 addition & 1 deletion .travis/getAndCheckDGtalTools.sh
Expand Up @@ -4,5 +4,5 @@ echo "DGtal path = $DGTALPATH"
git clone --depth 1 git://github.com/DGtal-team/DGtalTools.git
cd DGtalTools
mkdir build ; cd build
cmake .. -DDGtal_DIR=$DGTALPATH
cmake .. -DDGtal_DIR=$DGTALPATH/build $BUILD
make -j 2
13 changes: 13 additions & 0 deletions .travis/install_deps_macos.sh
@@ -0,0 +1,13 @@
#!/bin/bash


## Temporary HDF5 build issue
export BTYPE="$BTYPE -DWITH_HDF5=false" && echo "Disabling HDF5 on MacOS";

#
# Note: gmp and boost already installed
#

brew update
brew install doxygen homebrew/science/hdf5 graphviz graphicsmagick fftw eigen homebrew/boneyard/libqglviewer

8 changes: 6 additions & 2 deletions .travis/install_doxygen.sh
@@ -1,4 +1,8 @@
#!/bin/bash

#
##Download and install 1.8.1
#

mkdir ~/doxygen && cd ~/doxygen
wget http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.10.linux.bin.tar.gz
tar xzf doxygen-1.8.10.linux.bin.tar.gz
wget http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.10.linux.bin.tar.gz && tar xzf doxygen-1.8.10.linux.bin.tar.gz
24 changes: 24 additions & 0 deletions .travis/install_eigen.sh
@@ -0,0 +1,24 @@
#!/bin/bash


#
# Local install of Eigen on linux system
#

export EIGEN_ROOT="/usr/local/"

if [ $TRAVIS_OS_NAME == linux ];
then
cd deps
wget http://bitbucket.org/eigen/eigen/get/3.2.10.tar.bz2

bunzip2 3.2.10.tar.bz2
tar xvf 3.2.10.tar

cd eigen-eigen-b9cd8366d4e8
mkdir build ; cd build

cmake .. -DCMAKE_INSTALL_PREFIX="${SRC_DIR}/deps/local"
make && make install && cd ${SRC_DIR} && export EIGEN_ROOT="$SRC_DIR/deps/local"

fi
32 changes: 32 additions & 0 deletions .travis/main_build.sh
@@ -0,0 +1,32 @@
#!/bin/bash

set -e

mkdir build
cd build

### Cmake
echo "Using C++ = $CXXCOMPILER"
cmake .. $BTYPE -DCMAKE_CXX_COMPILER=$CXXCOMPILER -DCMAKE_C_COMPILER=$CCOMPILER


### DGtal Core build
if [ $NEEDCORE = "true" ];
then
make -j 3 DGtal && make -j 3 DGtalIO
fi

echo "NeedExample $NEEDEXAMPLESANDTESTS"
### DGtal Examples and Examples
if [ $NEEDEXAMPLESANDTESTS = "true" ];
then
cd examples ; make -j 3 ; echo "PWD"; pwd ; ls -l ..
cd ../tests ; make -j 3
make test ARGS=--output-on-failure
fi

### DGtal doc
if [ $BUILD_DOC = "true" ];
then
make doc
fi
21 changes: 21 additions & 0 deletions .travis/publish_doc.sh
@@ -0,0 +1,21 @@
#!/bin/bash

set -e

rsync -azv --delete --delete-after -e 'ssh -oStrictHostKeyChecking=no -i .travis/dgtal_rsa' html/ dgtal@liris.cnrs.fr:/home/dgtal/public_html/doc/nightly/


##DOCSET build
cd html
make
wget http://dgtal.org/doc/docset/template.tgz
tar zxvf template.tgz ; mv template/* org.dgtal.docset
tar zcvf DGtal-devel.tgz org.dgtal.docset

cd ..

rsync -azv --delete --delete-after -e 'ssh -oStrictHostKeyChecking=no -i .travis/dgtal_rsa' html/DGtal-devel.tgz dgtal@liris.cnrs.fr:/home/dgtal/public_html/doc/docset


###TAGS for DGtalTools
scp -i .travis/dgtal_rsa DGtal-tagfile dgtal@liris.cnrs.fr:/home/dgtal/public_html/doc/tags/;scp -i .travis/dgtal_rsa Board-tagfile dgtal@liris.cnrs.fr:/home/dgtal/public_html/doc/tags/
23 changes: 23 additions & 0 deletions ChangeLog.md
@@ -1,10 +1,33 @@
# DGtal 0.9.3

## New Features / Critical Changes

- *Configuration/General*
- Set flag -std=c++11 only if needed. Modern compilers set compatible flags
by default (gnu++14, etc). (Pablo H Cerdan,
[#1222](https://github.com/DGtal-team/DGtal/pull/1222))

- *Geometry Package*
- VoronoiMap, PowerMap, (Reverse)DistanceTransformation and ReducedMedialAxis
now work on toric domains (with per-dimension periodicity specification).
(David Coeurjolly, Roland Denis,
[#1206](https://github.com/DGtal-team/DGtal/pull/1206))

## Bug Fixes

- *Configuration/General*
- Fixing errors and warnings raised by g++ 4.7.x.
(Roland Denis, [#1202](https://github.com/DGtal-team/DGtal/pull/1202))
- Explicit M_PI definition if needed.
(David Coeurjolly, [#1208](https://github.com/DGtal-team/DGtal/pull/1208))

- *Geometry Package*
- ArithDSSIterator: fix missing postfix ++.
(I. Sivignon, [#1187](https://github.com/DGtal-team/DGtal/pull/1187))

- *IO Package*
- Viewer3D: fix bad rendering when changing the scale.
(Bertrand Kerautret, [#1217](https://github.com/DGtal-team/DGtal/pull/1217))

# DGtal 0.9.2

Expand Down
4 changes: 3 additions & 1 deletion README.md
Expand Up @@ -64,4 +64,6 @@ More Information
* Release 0.9.1 [![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.45125.svg)](http://dx.doi.org/10.5281/zenodo.45125)
* Release 0.9 [![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.31884.svg)](http://dx.doi.org/10.5281/zenodo.31884)
* Release 0.8 [![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.11586.png)](http://dx.doi.org/10.5281/zenodo.11586)
* Continuous Integration [![Build Status](https://travis-ci.org/DGtal-team/DGtal.svg?branch=master)](https://travis-ci.org/DGtal-team/DGtal)
* Continuous Integration (Linux/MacOS) [![Build Status](https://travis-ci.org/DGtal-team/DGtal.svg?branch=master)](https://travis-ci.org/DGtal-team/DGtal)
* Continuous Integration (Windows) [![Build status](https://ci.appveyor.com/api/projects/status/7labe8ft0jf30ng7/branch/master?svg=true)](https://ci.appveyor.com/project/kerautret/dgtal-8op01/branch/master)

19 changes: 17 additions & 2 deletions cmake/CheckCPP11.cmake
Expand Up @@ -2,10 +2,25 @@
# Test some c++11 functionalities
# -----------------------------------------------------------------------------

try_compile( CPP11_COMPATIBLE
try_compile( CPP11_COMPATIBLE_FLAG_SET_BY_USER
${CMAKE_BINARY_DIR}/CMakeTmp
${CMAKE_SOURCE_DIR}/cmake/src/cpp11/cpp11_check.cpp
COMPILE_DEFINITIONS "-std=c++11"
CMAKE_FLAGS "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}"
OUTPUT_VARIABLE OUTPUT
)

IF (CPP11_COMPATIBLE_FLAG_SET_BY_USER)
MESSAGE(STATUS " CPP11 enabled compiler by default.")
ENDIF()

IF (NOT CPP11_COMPATIBLE_FLAG_SET_BY_USER)
try_compile( CPP11_COMPATIBLE_FLAG_SET_BY_DGTAL
${CMAKE_BINARY_DIR}/CMakeTmp
${CMAKE_SOURCE_DIR}/cmake/src/cpp11/cpp11_check.cpp
COMPILE_DEFINITIONS "-std=c++11"
OUTPUT_VARIABLE OUTPUT
)
ENDIF()

SET(CPP11_COMPATIBLE CPP11_COMPATIBLE_FLAG_SET_BY_USER OR CPP11_COMPATIBLE_FLAG_SET_BY_DGTAL)

7 changes: 5 additions & 2 deletions cmake/CheckDGtalDependencies.cmake
Expand Up @@ -25,8 +25,11 @@ endif( Boost_FOUND )
MESSAGE(STATUS "Checking C++11 compatibility:")
INCLUDE(CheckCPP11)
IF (CPP11_COMPATIBLE)
IF (NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ")
IF (NOT CPP11_COMPATIBLE_FLAG_SET_BY_USER)
IF (NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ")
MESSAGE(STATUS " -std=c++11 added to CMAKE_CXX_FLAGS. ")
ENDIF()
ENDIF()
MESSAGE(STATUS "OK.")
ELSE()
Expand Down
2 changes: 1 addition & 1 deletion cmake/CheckDGtalOptionalDependencies.cmake
Expand Up @@ -384,7 +384,7 @@ ENDIF(WITH_OPENMP)
# -----------------------------------------------------------------------------
SET(EIGEN_FOUND_DGTAL 0)
IF(WITH_EIGEN)
FIND_PACKAGE(Eigen3 3.2 REQUIRED)
FIND_PACKAGE(Eigen3 REQUIRED)
IF(EIGEN3_FOUND)
SET(EIGEN_FOUND_DGTAL 1)
ADD_DEFINITIONS("-DWITH_EIGEN ")
Expand Down
18 changes: 14 additions & 4 deletions cmake/DGtalConfig.cmake.in
Expand Up @@ -71,12 +71,22 @@ IF (@COLOR_WITH_ALPHA_ARITH_DGTAL@)
ADD_DEFINITIONS(-DCOLOR_WITH_ALPHA_ARITH)
ENDIF(@COLOR_WITH_ALPHA_ARITH_DGTAL@)


IF(NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
# Set c++11 flag only if needed.
# When user or compiler have not set any std flag.
try_compile( CPP11_COMPATIBLE_FLAG_SET_BY_USER
${CMAKE_BINARY_DIR}/CMakeTmp
@DGTAL_CMAKE_DIR@/cpp11_check.cpp
CMAKE_FLAGS "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}"
OUTPUT_VARIABLE OUTPUT
)

IF (NOT CPP11_COMPATIBLE_FLAG_SET_BY_USER)
IF (NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ")
MESSAGE(STATUS "-std=c++11 added to CMAKE_CXX_FLAGS. ")
ENDIF()
ENDIF()


IF(@GMP_FOUND_DGTAL@)
ADD_DEFINITIONS("-DWITH_GMP ")
SET(WITH_GMP 1)
Expand Down
4 changes: 4 additions & 0 deletions cmake/DGtalConfigGenerator.cmake
Expand Up @@ -21,6 +21,9 @@ configure_file(${PROJECT_SOURCE_DIR}/cmake/DGtalConfig.cmake.in

configure_file(${PROJECT_SOURCE_DIR}/cmake/DGtalConfigVersion.cmake.in
"${PROJECT_BINARY_DIR}/DGtalConfigVersion.cmake" @ONLY)
# Copy also the cpp11_check.cpp for the build tree.
file(COPY ${PROJECT_SOURCE_DIR}/cmake/src/cpp11/cpp11_check.cpp
DESTINATION ${PROJECT_BINARY_DIR})

# Install the export set for use with the install-tree
install(EXPORT DGtalLibraryDepends DESTINATION
Expand All @@ -40,4 +43,5 @@ configure_file(${PROJECT_SOURCE_DIR}/cmake/DGtalConfigVersion.cmake.in
install(FILES
"${PROJECT_BINARY_DIR}/InstallFiles/DGtalConfig.cmake"
"${PROJECT_BINARY_DIR}/InstallFiles/DGtalConfigVersion.cmake"
"${PROJECT_SOURCE_DIR}/cmake/src/cpp11/cpp11_check.cpp"
DESTINATION "${DGTAL_CMAKE_DIR}" COMPONENT dev)
1 change: 1 addition & 0 deletions examples/geometry/curves/CMakeLists.txt
Expand Up @@ -16,6 +16,7 @@ SET(DGTAL_EXAMPLES_SRC
exampleDSLSubsegment
exampleArithmeticalDSL
exampleNaive3DDSSComputer
exampleArithDSSIterator
)


Expand Down
2 changes: 1 addition & 1 deletion examples/geometry/curves/exampleArithDSSIterator.cpp
Expand Up @@ -43,7 +43,7 @@ using namespace DGtal;

///////////////////////////////////////////////////////////////////////////////

int main( int UNUSED(argc), char** UNUSED(argv) )
int main()
{
trace.beginBlock ( "Example exampleArithDSSIterator" );

Expand Down
1 change: 1 addition & 0 deletions examples/geometry/volumes/distance/CMakeLists.txt
@@ -1,4 +1,5 @@
SET(DGTAL_EXAMPLES_SRC
toricdomainvolumetric
distancetransform2D
exampleFMM2D
voronoimap2D
Expand Down

0 comments on commit d9c346e

Please sign in to comment.