diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3d28406c068f10129f2288729ce46b803704779d..97e9ba64ae8ee00083a2dde319eea457fc4258b3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,3 +25,14 @@ clang-c++14: tags: - Linux +macos-c++11: + stage: build + script: "CI/ci-mac.sh C++11" + tags: + - Apple + +macos-c++98: + stage: build + script: "CI/ci-mac.sh C++14" + tags: + - Apple diff --git a/CI/ci-linux.sh b/CI/ci-linux.sh index a911a5d073c875a6afec67f8c74269673181b620..72ab32a35245052ed40e82d36f2503c1d6c19d4e 100755 --- a/CI/ci-linux.sh +++ b/CI/ci-linux.sh @@ -50,7 +50,7 @@ WARNING='\033[0;93m' if [ ! -d OpenVolueMesh ]; then git clone https://graphics.rwth-aachen.de:9000/OpenVolumeMesh/OpenVolumeMesh else - cd OpenVolueMesh + cd OpenVolumeMesh git pull cd .. fi @@ -79,11 +79,11 @@ echo "======================================================================" echo -e "${NC}" -if [ ! -d build-release-$BUILDPATH-Vector-Checks ]; then - mkdir build-release-$BUILDPATH-Vector-Checks +if [ ! -d build-release-$BUILDPATH ]; then + mkdir build-release-$BUILDPATH fi -cd build-release-$BUILDPATH-Vector-Checks +cd build-release-$BUILDPATH cmake -DCMAKE_BUILD_TYPE=Release -DHEXEX_BUILD_UNIT_TESTS=TRUE $OPTIONS ../ @@ -116,11 +116,11 @@ echo "======================================================================" echo -e "${NC}" -if [ ! -d build-debug-$BUILDPATH-Vector-Checks ]; then - mkdir build-debug-$BUILDPATH-Vector-Checks +if [ ! -d build-debug-$BUILDPATH ]; then + mkdir build-debug-$BUILDPATH fi -cd build-debug-$BUILDPATH-Vector-Checks +cd build-debug-$BUILDPATH cmake -DCMAKE_BUILD_TYPE=Debug -DHEXEX_BUILD_UNIT_TESTS=TRUE $OPTIONS ../ diff --git a/CI/ci-mac.sh b/CI/ci-mac.sh new file mode 100755 index 0000000000000000000000000000000000000000..77586448b7d1f5c2e6f5d004f440714d8157f1ae --- /dev/null +++ b/CI/ci-mac.sh @@ -0,0 +1,128 @@ +#!/bin/bash + +#Exit on any error +set -e + +LANGUAGE=$1 + + +PATH=$PATH:/opt/local/bin +export PATH + +OPTIONS="" + +if [ "$LANGUAGE" == "C++98" ]; then + echo "Building with C++98"; + BUILDPATH="cpp98" +elif [ "$LANGUAGE" == "C++11" ]; then + echo "Building with C++11"; + OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++11' " + BUILDPATH="cpp11" +elif [ "$LANGUAGE" == "C++14" ]; then + echo "Building with C++14"; + OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++14' " + BUILDPATH="cpp14" +fi + +#===================================== +# Color Settings: +#===================================== +NC='\033[0m' +OUTPUT='\033[0;32m' +WARNING='\033[0;93m' + +#clone OpenVolumeMesh +if [ ! -d OpenVolueMesh ]; then + git clone https://graphics.rwth-aachen.de:9000/OpenVolumeMesh/OpenVolumeMesh +else + cd OpenVolumeMesh + git pull + cd .. +fi + +echo -e "${OUTPUT}" +echo "" +echo "======================================================================" +echo "Basic configuration details:" +echo "======================================================================" +echo -e "${NC}" + +echo "Options: $OPTIONS" +echo "BuildPath: $BUILDPATH" +echo "Path: $PATH" +echo "Language: $LANGUAGE" + +echo -e "${OUTPUT}" +echo "" +echo "======================================================================" +echo "Building Release version with vectorchecks enabled" +echo "======================================================================" +echo -e "${NC}" + + +if [ ! -d build-release-$BUILDPATH ]; then + mkdir build-release-$BUILDPATH +fi + +cd build-release-$BUILDPATH + +cmake -DCMAKE_BUILD_TYPE=Release -DHEXEX_BUILD_UNIT_TESTS=TRUE $OPTIONS ../ + +#build it +make + +#build the unit tests +make unittests + +echo -e "${OUTPUT}" +echo "" +echo "======================================================================" +echo "Running unittests Release version" +echo "======================================================================" +echo -e "${NC}" + +cd Build + +#execute tests +./unittests --gtest_color=yes --gtest_output=xml + +cd .. +cd .. + +echo -e "${OUTPUT}" +echo "" +echo "======================================================================" +echo "Building Debug version" +echo "======================================================================" +echo -e "${NC}" + + +if [ ! -d build-debug-$BUILDPATH-Vector-Checks ]; then + mkdir build-debug-$BUILDPATH-Vector-Checks +fi + +cd build-debug-$BUILDPATH-Vector-Checks + +cmake -DCMAKE_BUILD_TYPE=Debug -DHEXEX_BUILD_UNIT_TESTS=TRUE $OPTIONS ../ + +#build it +make + +#build the unit tests +make unittests + +echo -e "${OUTPUT}" +echo "" +echo "======================================================================" +echo "Running unittests Debug version" +echo "======================================================================" +echo -e "${NC}" + + +cd Build + +#execute tests +./unittests --gtest_color=yes --gtest_output=xml + +cd .. +cd ..