diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..bcae75ea25b56307581a382c670f5848deaab113 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,34 @@ +stages: + - build + - package + +cache: + paths: + - build/ + +.slicer: &slicer + image: slicer/buildenv-qt5-centos7:slicer-4.10 + variables: + SLICER_BUILD: "/builds/slicer/slicer_4.10/Slicer-Superbuild/Slicer-build/" + tags: + - linux + - slicer + +build: + <<: + - *slicer + stage: build + script: + - chmod a+x .gitlab/ci/build.sh + - .gitlab/ci/build.sh + +package: + <<: + - *slicer + stage: package + script: + - chmod a+x .gitlab/ci/package.sh + - .gitlab/ci/package.sh + artifacts: + paths: + - public diff --git a/.gitlab/ci/build.sh b/.gitlab/ci/build.sh new file mode 100644 index 0000000000000000000000000000000000000000..cef58c893c7af377b7fbe1538ca77deebddce84d --- /dev/null +++ b/.gitlab/ci/build.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +PWD=`pwd` +SRCDIR="$PWD" +BUILDDIR="$PWD/build" + +echo "Files in /builds:" +ls /builds/ + +echo "Files in /builds/slicer" +ls /builds/slicer + + +if [[ ! -d $BUILDDIR ]] +then + echo "Creating $BUILDDIR" + mkdir -p "$BUILDDIR" +fi + +cd "$BUILDDIR" + +echo "SLICER_BUILD: $SLICER_BUILD" +echo "SRC_DIR: $SRC_DIR" + +echo "Configuring package" +cmake -G Ninja "$SRCDIR" -DSlicer_DIR="$SLICER_BUILD" + +echo "Building" +cmake --build . --config Release diff --git a/.gitlab/ci/package.sh b/.gitlab/ci/package.sh new file mode 100644 index 0000000000000000000000000000000000000000..cc7e2316db4fc9086701a35c355202f80b0029dc --- /dev/null +++ b/.gitlab/ci/package.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +PWD=`pwd` +SRCDIR="$PWD" +BUILDDIR="$PWD/build" +ARTIFACTDIR="$PWD/public" + +cd "$BUILDDIR" + +echo "Running CMake package" +cmake --build . --config Release --target package + +regex='set\(CPACK_PACKAGE_FILE_NAME\s"(.*)"\)' +filename="" + +while IFS="" read -r p || [ -n "$p" ] +do + if [[ $p =~ $regex ]] + then + filename="${BASH_REMATCH[1]}" + fi +done < CPackConfig.cmake + +echo $filename + +fullfilename="${BUILDDIR}/${filename}.tar.gz" + +echo "Package full filename: $fullfilename" + +if [ ! -d "$ARTIFACTDIR" ]; then + mkdir -p "$ARTIFACTDIR" +fi + +cp "$fullfilename" "$ARTIFACTDIR" + diff --git a/README.md b/README.md index eb8b69a04178bd0d1f3702522c4ed854d43058fe..5e8b9659aa8a1600d091fc3d82c13ba46c8954a4 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,9 @@ A 3D Slicer extension offering a brain extraction algorithm for MRI structural images. This extension has the ROBEX brain extraction implementation which was adapted from the [original paper](http://dx.doi.org/10.1109/TMI.2011.2138152). +# Download +[Linux amd64 - Slicer 4.10.2](https://gitlab.uspdigital.usp.br/csim/robexbrainextraction/-/jobs/artifacts/master/raw/public/0ae446f-linux-amd64-ROBEXBrainExtraction-git1592edf-2020-06-01.tar.gz?job=package) + # Licenses Please, note that this code is under the following licenses, according to the original [ROBEX method](https://www.nitrc.org/projects/robex/)