diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3d6b75b578..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,226 +0,0 @@ -# Language selection -language: cpp -dist: bionic # default to Ubuntu 18.04 LTS - -cache: ccache - -# Compilation dependencies -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: &addons_apt_packages - - libboost-dev - - libhdf5-serial-dev - - libfftw3-dev # not sure why this is needed, but otherwise we get linking errors - - swig - - python3-dev - - python3-numpy - - python3-pytest - # these were for trusty - #- root-system-bin - #- libroot-tree-dev - #- libroot-tree-treeplayer-dev - #- libroot-io-dev - -# Environment variables: -# To avoid too many builds, we mix some options (although independent tests would have been better) -matrix: - include: - #### linux - - os: linux - python: 3 - addons: - apt: - packages: - - *addons_apt_packages - - [g++-6] - env: EXTRA_BUILD_FLAGS="-DDISABLE_CERN_ROOT=1 -DSTIR_OPENMP:BOOL=OFF" CC=gcc-6 CXX=g++-6 - - os: linux - python: 3 - addons: - apt: - packages: - - *addons_apt_packages - - [g++-5, libinsighttoolkit4-dev] - env: EXTRA_BUILD_FLAGS="-DDISABLE_CERN_ROOT=1 -DSTIR_OPENMP:BOOL=OFF -DDISABLE_HDF5=ON" CC=gcc-5 CXX=g++-5 - - os: linux - python: 3 - addons: - apt: - packages: - - *addons_apt_packages - - [g++-7, libinsighttoolkit4-dev] - env: EXTRA_BUILD_FLAGS="-DDISABLE_CERN_ROOT=0 -DSTIR_OPENMP:BOOL=ON" CC=gcc-7 CXX=g++-7 - - os: linux - dist: focal - python: 3 - addons: - apt: - packages: - - *addons_apt_packages - - [g++-9, libinsighttoolkit4-dev, nlohmann-json3-dev] - env: EXTRA_BUILD_FLAGS="-DDISABLE_CERN_ROOT=0 -DSTIR_OPENMP:BOOL=ON" CC=gcc-9 CXX=g++-9 - - os: linux - dist: focal - python: 3 - addons: - apt: - packages: - - *addons_apt_packages - - [g++-10, nlohmann-json3-dev] - env: EXTRA_BUILD_FLAGS="-DDISABLE_CERN_ROOT=1 -DSTIR_OPENMP:BOOL=ON" CC=gcc-10 CXX=g++-10 - - os: linux - # note: can't get it to install on focal due to a package problem - dist: bionic - python: 3 - addons: - apt: - packages: - - *addons_apt_packages - - [clang, libomp-dev] - env: EXTRA_BUILD_FLAGS="-DDISABLE_CERN_ROOT=1 -DSTIR_OPENMP:BOOL=ON" CC=clang CXX=clang++ - - #### osx - # note: cannot use OpenMP on OSX yet, see https://github.com/UCL/STIR/issues/117 - - os: osx - osx_image: xcode12.2 - python: 3 - env: EXTRA_BUILD_FLAGS="-DDISABLE_CERN_ROOT=1 -DSTIR_OPENMP:BOOL=OFF" CC=gcc CXX=g++ - # Disable as ROOT is currently failing via brew (as it wants to build it, and which causes a timeout) - #- os: osx - # python: 3 - # env: EXTRA_BUILD_FLAGS="-DDISABLE_CERN_ROOT=0 -DSTIR_OPENMP:BOOL=OFF" CC=gcc CXX=g++ - - os: osx - osx_image: xcode11.3 - python: 3 - env: EXTRA_BUILD_FLAGS="-DDISABLE_CERN_ROOT=1 -DSTIR_OPENMP:BOOL=OFF -DSTIR_ENABLE_EXPERIMENTAL:BOOL=ON" CC=clang CXX=clang++ - - # osx, OpenMP using llvm clang - # disable due to LLVM clang 12.0.1 problem - #- os: osx - # osx_image: xcode11.3 - # python: 3 - # env: EXTRA_BUILD_FLAGS="-DDISABLE_CERN_ROOT=1 -DSTIR_OPENMP:BOOL=ON -DSTIR_ENABLE_EXPERIMENTAL:BOOL=ON -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang" - -env: - global: - - BUILD_FLAGS="-DBUILD_SWIG_PYTHON:BOOL=On -DSTIR_MPI:BOOL=Off -DCMAKE_BUILD_TYPE=Release" - -# No need for sudo -sudo: false - -# Actual compilation script - -before_install: - - | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - - brew update - #now upgrade to avoid problems with outdated packages - brew upgrade - - # check if we're using LLVM - if [[ $EXTRA_BUILD_FLAGS == *"llvm"* ]]; then - brew install llvm - brew install libomp - export DYLD_FALLBACK_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH:"/usr/local/opt/llvm/lib" - export LDFLAGS="-L/usr/local/opt/llvm/lib" - fi - - - brew install ccache - export PATH="/usr/local/opt/ccache/libexec:$PATH" - # Install ROOT, unless disabled - case "$EXTRA_BUILD_FLAGS" in - *DISABLE_CERN_ROOT=1*) - echo "Not installing ROOT to save some time (and potential time-outs)";; - *) - brew install root;; - esac - brew install swig - # use Python3 on Mac - brew upgrade python || true # don't fail if upgrading doesn't do anything - # find exact location of Python executable to pass to CMake - PYMVER=3 - PY_EXE=$(which python${PYMVER}) - if [ ! -x "$PY_EXE" ]; then - echo "Something wrong with finding Python executable for OSX" - echo "PY_EXE = $PY_EXE" - travis_terminate 1 - fi - # Next lines are not necessary if we give the actual path for the executable to cmake - #PY_LIB=$PY_INST/Python - #PY_INC=$PY_INST/Headers - # BUILD_FLAGS="$BUILD_FLAGS -DPYTHON_LIBRARY=$PY_LIB -DPYTHON_INCLUDE_DIR=$PY_INC" - ${PY_EXE} -m pip install -U pip - ${PY_EXE} -m pip install pytest numpy - else - ## specific handling of clang due to apt package problem in focal(but fails) - # case $CXX in - # clang*) - # wget https://apt.llvm.org/llvm.sh - # chmod +x llvm.sh - # sudo ./llvm.sh 10 - # ;; - # *) - # ;; - # esac - # - ## Install ROOT, unless disabled - case "$EXTRA_BUILD_FLAGS" in - *DISABLE_CERN_ROOT=1*) - echo "Not installing ROOT to save some time (and potential time-outs)";; - *) - ubuntu_major=`lsb_release -rs| awk -F. '{print $1}'` - case $ubuntu_major in - 18) rootcc=gcc7.5;; - 19) rootcc=gcc9.2;; - 20) rootcc=gcc9.3;; - esac - rootfile=root_v6.24.00.Linux-ubuntu${ubuntu_major}-x86_64-${rootcc}.tar.gz - wget https://root.cern/download/$rootfile - tar xzf $rootfile - source root/bin/thisroot.sh - esac - PY_EXE=`which python3` - # needed for OPENMP support on Travis - # see https://github.com/travis-ci/travis-ci/issues/8613 - export LD_LIBRARY_PATH=/usr/local/clang/lib:$LD_LIBRARY_PATH - fi - ${PY_EXE} --version - BUILD_FLAGS="$BUILD_FLAGS -DPYTHON_EXECUTABLE=${PY_EXE}" - ${CXX} --version - - -install: - - mkdir build install - - cd build - - cmake $BUILD_FLAGS $EXTRA_BUILD_FLAGS -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/install .. - - make -j 2 all - - make install - -script: - - ctest --output-on-failure - - export PATH=$PATH:$TRAVIS_BUILD_DIR/install/bin - - cd $TRAVIS_BUILD_DIR/recon_test_pack - - ./run_test_simulate_and_recon.sh - - ./run_test_listmode_recon.sh - - ./run_test_simulate_and_recon_with_motion.sh - - ./run_scatter_tests.sh - - ./run_tests.sh --nointbp - - ./run_test_zoom_image.sh - - ./run_ML_norm_tests.sh - - if [[ $EXTRA_BUILD_FLAGS == *"DDISABLE_CERN_ROOT=0"* ]]; then ./run_root_GATE.sh; fi - - ./run_tests_modelling.sh - - cd $TRAVIS_BUILD_DIR/recon_test_pack/SPECT - - ./run_SPECT_tests.sh - # Run examples to see if they work - - cd $TRAVIS_BUILD_DIR/examples/PET_simulation - - ./run_simulation.sh 1> /dev/null - - cd $TRAVIS_BUILD_DIR/src - # Run Python tests, making sure we're using the correct Python interpreter - - export PYTHON=$(cmake -LA -N $TRAVIS_BUILD_DIR/build |awk -F= '/PYTHON_EXECUTABLE/ {print $2}') - - echo Using Python executable "$PYTHON" - - export PYTHONPATH=$TRAVIS_BUILD_DIR/install/python - - ${PYTHON} -m pytest . diff --git a/CMakeLists.txt b/CMakeLists.txt index 66943261fa..d33f0dccb6 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,9 +61,9 @@ ENDIF() ####### Set Version number etc set(VERSION_MAJOR 6) -set(VERSION_MINOR 4) +set(VERSION_MINOR 5) set(VERSION_PATCH 0) -set(VERSION 060400) # only used in STIRConfig.h.in and swig/CMakeLists.txt +set(VERSION 060500) # only used in STIRConfig.h.in and swig/CMakeLists.txt set(STIR_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) diff --git a/VERSION.txt b/VERSION.txt index 19b860c187..f22d756da3 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -6.4.0 +6.5.0 diff --git a/src/buildblock/Jamfile b/src/buildblock/Jamfile deleted file mode 100644 index 6cb8128d15..0000000000 --- a/src/buildblock/Jamfile +++ /dev/null @@ -1,51 +0,0 @@ -# (C) Copyright David Abrahams 2001. Permission to copy, use, modify, sell and -# distribute this software is granted provided this copyright notice appears -# in all copies. This software is provided "as is" without express or implied -# warranty, and with no claim as to its suitability for any purpose. -# -# Stir.Python library Jamfile - - -# declare the location of this subproject relative to the root -subproject buildblock ; - - -local local_sources ; - -local_sources = - Array.cxx - IndexRange.cxx - ProjData.cxx - ProjDataInfo.cxx - ProjDataInfoCylindrical.cxx - ProjDataInfoCylindricalArcCorr.cxx - ProjDataInfoCylindricalNoArcCorr.cxx - ArcCorrection.cxx - ProjDataFromStream.cxx - ProjDataGEAdvance.cxx - ProjDataInMemory.cxx - ProjDataInterfile.cxx - Scanner.cxx - SegmentBySinogram.cxx - SegmentByView.cxx - Viewgram.cxx - Sinogram.cxx - RelatedViewgrams.cxx - DiscretisedDensity.cxx - VoxelsOnCartesianGrid.cxx - utilities.cxx - interfile_keyword_functions.cxx - zoom.cxx - NumericType.cxx - ByteOrder.cxx - KeyParser.cxx - recon_array_functions.cxx - linear_regression.cxx - overlap_interpolate.cxx - error.cxx - warning.cxx - ; - -sources += buildblock/$(local_sources) ; - - diff --git a/src/swig/Makefile b/src/swig/Makefile deleted file mode 100644 index 2b54b1bdd6..0000000000 --- a/src/swig/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# This is a temporary makefile used for development only. -# Do not use. Instead, use CMake for building -SWIG=swig - -all: _stir.so - -stir_PYTHONwrap.cxx: stir.i Makefile - $(SWIG) -python -c++ -builtin -I../include/ -I/usr/include -DSTART_NAMESPACE_STIR="namespace stir {" -DEND_NAMESPACE_STIR="}" -o $@ $< - -stir_OCTAVEwrap.cpp: stir.i Makefile - $(SWIG) -octave -c++ -I../include/ -I/usr/include -DSTART_NAMESPACE_STIR="namespace stir {" -DEND_NAMESPACE_STIR="}" -o $@ $< - -stir_MATLABwrap.cpp: stir.i Makefile - $(SWIG) -matlab -c++ -I../include/ -I/usr/include -DSTART_NAMESPACE_STIR="namespace stir {" -DEND_NAMESPACE_STIR="}" -o $@ $< - -stir.e: stir.i Makefile - $(SWIG) -python -c++ -builtin -E -I../include/ -DSTART_NAMESPACE_STIR="namespace stir {" -DEND_NAMESPACE_STIR="}" $< > stir.e - -CFLAGS=-fpic -I../include/ -g -I /usr/include/python2.7/ -DSWIG - -%.o : %.cxx - $(CXX) $(CFLAGS) -o$@ -c $< - -FILES=Scanner.o interfile_keyword_functions.o utilities.o error.o warning.o VoxelsOnCartesianGrid.o ProjDataInfo.o Sinogram.o Viewgram.o SegmentBySinogram.o SegmentByView.o \ -ProjDataInfoCylindrical.o ProjDataInfoCylindricalArcCorr.o ProjDataInfoCylindricalNoArcCorr.o RelatedViewgrams.o DataSymmetriesForViewSegmentNumbers.o IndexRange.o DiscretisedDensity.o - -LIBS=../../build/stir/gcc/DebugShared/buildblock/libbuildblock.so \ -../../build/stir/gcc/DebugShared/data_buildblock/libdata_buildblock.so \ -../../build/stir/gcc/DebugShared/IO/libIO.so \ -../../build/stir/gcc/DebugShared/modelling_buildblock/libmodelling_buildblock.so \ -../../build/stir/gcc/DebugShared/numerics_buildblock/libnumerics_buildblock.so \ -../../build/stir/gcc/DebugShared/local/IO/GE/liblocal_IO_GE.so \ -../../build/stir/gcc/DebugShared/recon_buildblock/librecon_buildblock.so \ -../../build/stir/gcc/DebugShared/listmode_buildblock/liblistmode_buildblock.so \ -../../build/stir/gcc/DebugShared/iterative/OSMAPOSL/libiterative_OSMAPOSL.so \ -../../build/stir/gcc/DebugShared/swig/CMakeFiles/_stir.dir/__/IO/IO_registries.cxx.o \ -../../build/stir/gcc/DebugShared/swig/CMakeFiles/_stir.dir/__/recon_buildblock/recon_buildblock_registries.cxx.o \ -../../build/stir/gcc/DebugShared/swig/CMakeFiles/_stir.dir/__/buildblock/buildblock_registries.cxx.o - - -LIBSa=-lbuildblock \ --ldata_buildblock \ --lIO \ --lmodelling_buildblock \ --lnumerics_buildblock \ --llocal_IO_GE \ --lrecon_buildblock \ --llistmode_buildblock \ --literative_OSMAPOSL \ -../../build/stir/gcc/DebugShared/swig/CMakeFiles/_stir.dir/__/IO/IO_registries.cxx.o \ -../../build/stir/gcc/DebugShared/swig/CMakeFiles/_stir.dir/__/recon_buildblock/recon_buildblock_registries.cxx.o \ -../../build/stir/gcc/DebugShared/swig/CMakeFiles/_stir.dir/__/buildblock/buildblock_registries.cxx.o \ --L/home/kris/binDebugShared/lib - - -.PRECIOUS: stir_PYTHONwrap.cxx stir_OCTAVEwrap.cpp - -_stir.so: stir_PYTHONwrap.o $(LIBS) Makefile - g++ -g -shared stir_PYTHONwrap.o $(LIBS) -o $@ - - -stir.oct: stir_OCTAVEwrap.cpp $(LIBS) Makefile - CXXFLAGS=-g mkoctfile -v -I../include/ -g -DSWIG -o $@ $< $(LIBSa)