Skip to content
Snippets Groups Projects
Commit a825c5f3 authored by Marvin Neurath's avatar Marvin Neurath
Browse files
parents cb053477 423c07a8
Branches
No related tags found
No related merge requests found
......@@ -18,8 +18,9 @@ gcc-c++11-Qt5:
tags:
- Linux
artifacts:
expire_in: 1 week
paths:
- build-release-gcc-cpp11-qt5/
- artifacts
gcc-c++11-Qt5.9.0:
stage:
......@@ -33,8 +34,26 @@ gcc-c++11-Qt5.9.0:
tags:
- Linux
artifacts:
expire_in: 1 week
paths:
- build-release-gcc-cpp11-qt5.9.0/
- artifacts
debug-gcc-c++11-Qt5.9.0:
stage:
Build
variables:
COMPILER: "gcc"
LANGUAGE: "C++11"
QTVERSION: "QT5.9.0"
BUILDTYPE: "Debug"
GIT_SUBMODULE_STRATEGY: recursive
script: "CI/ci-linux-build.sh"
tags:
- Linux
artifacts:
expire_in: 1 week
paths:
- artifacts
clang-c++11-Qt5:
stage:
......@@ -49,8 +68,9 @@ clang-c++11-Qt5:
- Linux
- MultiThreads
artifacts:
expire_in: 1 week
paths:
- build-release-clang-cpp11-qt5/
- artifacts
clang-c++11-Qt5.9.0:
stage:
......@@ -65,8 +85,27 @@ clang-c++11-Qt5.9.0:
- Linux
- MultiThreads
artifacts:
expire_in: 1 week
paths:
- build-release-clang-cpp11-qt5.9.0/
- artifacts
debug-clang-c++11-Qt5.9.0:
stage:
Build
variables:
COMPILER: "clang"
LANGUAGE: "C++11"
QTVERSION: "QT5.9.0"
BUILDTYPE: "Debug"
GIT_SUBMODULE_STRATEGY: recursive
script: "CI/ci-linux-build.sh"
tags:
- Linux
- MultiThreads
artifacts:
expire_in: 1 week
paths:
- artifacts
test-gcc-c++11-Qt5:
stage:
......@@ -75,15 +114,15 @@ test-gcc-c++11-Qt5:
COMPILER: "gcc"
LANGUAGE: "C++11"
QTVERSION: "QT5"
GIT_SUBMODULE_STRATEGY: recursive
script: "CI/ci-linux-test.sh"
GIT_STRATEGY: none
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
dependencies:
- gcc-c++11-Qt5
artifacts:
paths:
- build-release-gcc-cpp11-qt5/Testing/Temporary/LastTest.log
- build-Release-gcc-cpp11-qt5/Testing/Temporary/LastTest.log
test-gcc-c++11-Qt5.9.0:
stage:
......@@ -92,15 +131,33 @@ test-gcc-c++11-Qt5.9.0:
COMPILER: "gcc"
LANGUAGE: "C++11"
QTVERSION: "QT5.9.0"
GIT_SUBMODULE_STRATEGY: recursive
script: "CI/ci-linux-test.sh"
GIT_STRATEGY: none
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
dependencies:
- gcc-c++11-Qt5.9.0
artifacts:
paths:
- build-release-gcc-cpp11-qt5.9.0/Testing/Temporary/LastTest.log
- build-Release-gcc-cpp11-qt5.9.0/Testing/Temporary/LastTest.log
debug-test-gcc-c++11-Qt5.9.0:
stage:
Test
variables:
COMPILER: "gcc"
LANGUAGE: "C++11"
QTVERSION: "QT5.9.0"
BUILDTYPE: "Debug"
GIT_STRATEGY: none
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
dependencies:
- debug-gcc-c++11-Qt5.9.0
artifacts:
paths:
- build-Debug-gcc-cpp11-qt5.9.0/Testing/Temporary/LastTest.log
test-clang-c++11-Qt5:
stage:
......@@ -109,8 +166,8 @@ test-clang-c++11-Qt5:
COMPILER: "clang"
LANGUAGE: "C++11"
QTVERSION: "QT5"
GIT_SUBMODULE_STRATEGY: recursive
script: "CI/ci-linux-test.sh"
GIT_STRATEGY: none
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
- MultiThreads
......@@ -118,7 +175,7 @@ test-clang-c++11-Qt5:
- clang-c++11-Qt5
artifacts:
paths:
- build-release-clang-cpp11-qt5/Testing/Temporary/LastTest.log
- build-Release-clang-cpp11-qt5/Testing/Temporary/LastTest.log
test-clang-c++11-Qt5.9.0:
stage:
......@@ -127,8 +184,8 @@ test-clang-c++11-Qt5.9.0:
COMPILER: "clang"
LANGUAGE: "C++11"
QTVERSION: "QT5.9.0"
GIT_SUBMODULE_STRATEGY: recursive
script: "CI/ci-linux-test.sh"
GIT_STRATEGY: none
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
- MultiThreads
......@@ -136,18 +193,38 @@ test-clang-c++11-Qt5.9.0:
- clang-c++11-Qt5.9.0
artifacts:
paths:
- build-release-clang-cpp11-qt5.9.0/Testing/Temporary/LastTest.log
- build-Release-clang-cpp11-qt5.9.0/Testing/Temporary/LastTest.log
debug-test-clang-c++11-Qt5.9.0:
stage:
Test
variables:
COMPILER: "clang"
LANGUAGE: "C++11"
QTVERSION: "QT5.9.0"
BUILDTYPE: "Debug"
GIT_STRATEGY: none
script: "artifacts/CI/ci-linux-test.sh"
tags:
- Linux
- MultiThreads
dependencies:
- debug-clang-c++11-Qt5.9.0
artifacts:
paths:
- build-Debug-clang-cpp11-qt5.9.0/Testing/Temporary/LastTest.log
cppcheck:
stage:
Test
script: "CI/ci-cppcheck.sh"
script: "artifacts/CI/ci-cppcheck.sh"
variables:
GIT_SUBMODULE_STRATEGY: recursive
tags:
- Linux
- MultiThreads
dependencies:
- gcc-c++11-Qt5
artifacts:
paths:
- cppcheck.log
......@@ -165,8 +242,9 @@ VS2015-Qt-5.6.2-x64:
- VS2015
- Qt56
artifacts:
expire_in: 1 week
paths:
- rel/
- artifacts
VS2015-Qt-5.6.2-x32:
stage:
......@@ -181,8 +259,9 @@ VS2015-Qt-5.6.2-x32:
- VS2015
- Qt56
artifacts:
expire_in: 1 week
paths:
- rel/
- artifacts
VS2015-Qt-5.9.0-x64:
stage:
......@@ -196,8 +275,9 @@ VS2015-Qt-5.9.0-x64:
tags:
- VS2015
artifacts:
expire_in: 1 week
paths:
- rel/
- artifacts
VS2015-Qt-5.9.0-x32:
stage:
......@@ -211,8 +291,9 @@ VS2015-Qt-5.9.0-x32:
tags:
- VS2015
artifacts:
expire_in: 1 week
paths:
- rel/
- artifacts
VS2013-Qt-5.5.1-x64:
stage:
......@@ -227,17 +308,20 @@ VS2013-Qt-5.5.1-x64:
- VS2013
- Qt551
artifacts:
expire_in: 1 week
paths:
- rel/
- artifacts
Test:VS2015-Qt-5.6.2-x64:
stage:
Test
script: "CI\\ci-windows-test.bat"
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
ARCHITECTURE: "x64"
QT_VERSION: "Qt5.6.2"
COMPILER: "VS2015"
STAGE2SCRIPT: ci-windows-test.bat
tags:
- VS2015
- Qt56
......@@ -250,12 +334,13 @@ Test:VS2015-Qt-5.6.2-x64:
Test:VS2015-Qt-5.6.2-x32:
stage:
Test
script: "CI\\ci-windows-test.bat"
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
ARCHITECTURE: "x32"
QT_VERSION: "Qt5.6.2"
COMPILER: "VS2015"
STAGE2SCRIPT: ci-windows-test.bat
tags:
- VS2015
- Qt56
......@@ -268,12 +353,13 @@ Test:VS2015-Qt-5.6.2-x32:
Test:VS2015-Qt-5.9.0-x64:
stage:
Test
script: "CI\\ci-windows-test.bat"
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
ARCHITECTURE: "x64"
QT_VERSION: "Qt5.9.0"
COMPILER: "VS2015"
STAGE2SCRIPT: ci-windows-test.bat
tags:
- VS2015
dependencies:
......@@ -285,12 +371,13 @@ Test:VS2015-Qt-5.9.0-x64:
Test:VS2015-Qt-5.9.0-x32:
stage:
Test
script: "CI\\ci-windows-test.bat"
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
ARCHITECTURE: "x32"
QT_VERSION: "Qt5.9.0"
COMPILER: "VS2015"
STAGE2SCRIPT: ci-windows-test.bat
tags:
- VS2015
dependencies:
......@@ -302,12 +389,13 @@ Test:VS2015-Qt-5.9.0-x32:
Test:VS2013-Qt-5.5.1-x64:
stage:
Test
script: "CI\\ci-windows-test.bat"
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
ARCHITECTURE: "x64"
QT_VERSION: "Qt5.5.1"
COMPILER: "VS2013"
STAGE2SCRIPT: ci-windows-test.bat
tags:
- VS2013
- Qt551
......@@ -323,12 +411,13 @@ Deploy:VS2015-Qt-5.6.2-x64:
only:
- master
- unstable
script: "CI\\ci-windows-deploy.bat"
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
ARCHITECTURE: "x64"
QT_VERSION: "Qt5.6.2"
COMPILER: "VS2015"
STAGE2SCRIPT: ci-windows-deploy.bat
tags:
- VS2015
- Qt56
......@@ -344,12 +433,13 @@ Deploy:VS2015-Qt-5.6.2-x32:
only:
- master
- unstable
script: "CI\\ci-windows-deploy.bat"
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
ARCHITECTURE: "x32"
QT_VERSION: "Qt5.6.2"
COMPILER: "VS2015"
STAGE2SCRIPT: ci-windows-deploy.bat
tags:
- VS2015
- Qt56
......@@ -365,12 +455,13 @@ Deploy:VS2015-Qt-5.9.0-x64:
only:
- master
- unstable
script: "CI\\ci-windows-deploy.bat"
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
ARCHITECTURE: "x64"
QT_VERSION: "Qt5.9.0"
COMPILER: "VS2015"
STAGE2SCRIPT: ci-windows-deploy.bat
tags:
- VS2015
dependencies:
......@@ -385,12 +476,13 @@ Deploy:VS2015-Qt-5.9.0-x32:
only:
- master
- unstable
script: "CI\\ci-windows-deploy.bat"
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
ARCHITECTURE: "x32"
QT_VERSION: "Qt5.9.0"
COMPILER: "VS2015"
STAGE2SCRIPT: ci-windows-deploy.bat
tags:
- VS2015
dependencies:
......@@ -405,12 +497,13 @@ Deploy:VS2013-Qt-5.5.1-x64:
only:
- master
- unstable
script: "CI\\ci-windows-deploy.bat"
script: "artifacts\\CI\\ci-windows-bootstrap.bat"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
ARCHITECTURE: "x64"
QT_VERSION: "Qt5.5.1"
COMPILER: "VS2013"
STAGE2SCRIPT: ci-windows-deploy.bat
tags:
- VS2013
- Qt551
......@@ -429,15 +522,16 @@ Mac-Cpp11:
tags:
- Apple
artifacts:
expire_in: 1 week
paths:
- build-release/
- artifacts
Test:Mac-Cpp11:
stage:
Test
script: "CI/ci-mac-test.sh"
script: "artifacts/CI/ci-mac-test.sh"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
tags:
- Apple
dependencies:
......@@ -452,9 +546,9 @@ Deploy:Mac-Cpp11:
only:
- master
- unstable
script: "CI/ci-mac-deploy.sh"
script: "artifacts/CI/ci-mac-deploy.sh"
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_STRATEGY: none
tags:
- Apple
dependencies:
......@@ -477,8 +571,8 @@ Doc-publish:
dependencies:
artifacts:
paths:
- build-release/Doxygen-warning.log
- build-release/Doxygen-error.log
- build-Release/Doxygen-warning.log
- build-Release/Doxygen-error.log
......
......@@ -3,6 +3,9 @@
# Exit script on any error
set -e
#remove artifacts ... they are copied even since they shouldnt be see https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/1917
rm -rf artifacts
#=====================================
# Color Settings:
#=====================================
......
......@@ -7,13 +7,14 @@ set -e
# COMPILER= gcc/clang
# LANGUAGE= C++98 / C++11
# QTVERSION= QT4/QT5
# BUILDTYPE= Debug / Release
#include ci options script
MY_DIR=$(dirname $(readlink -f $0))
source $MY_DIR/ci-linux-config.sh
echo "Building with path: build-release-$BUILDPATH"
echo "Building with path: $BUILDPATH"
echo "Full cmake options: $OPTIONS "
########################################
......@@ -28,22 +29,36 @@ git clone git@roosevelt:moebius/OpenFlipper-Test-Data.git TestData
#########################################
# Make release build folder
if [ ! -d build-release-$BUILDPATH ]; then
mkdir build-release-$BUILDPATH
if [ ! -d $BUILDPATH ]; then
mkdir $BUILDPATH
fi
cd build-release-$BUILDPATH
cd $BUILDPATH
cmake -DCMAKE_BUILD_TYPE=Release -DOPENFLIPPER_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../
cmake -DOPENFLIPPER_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../
#build it
make $MAKE_OPTIONS
# copy the used shared libraries to the lib folder
cd Build
if [ ! -d systemlib ]; then
mkdir systemlib
fi
ldd bin/OpenFlipper | grep "=> /" | awk '{print $3}' | xargs -I '{}' cp -v '{}' systemlib
#cd ..
cd ../..
#create an artifact directory
if [ ! -d artifacts ]; then
mkdir artifacts
fi
#cp -R * artifacts
rsync -a --exclude=artifacts --exclude=.git . ./artifacts
cd artifacts
#rm -rf .git
# create an archive with all the build files so we can use them in the test script
#tar -cvf ../buildfiles.tar .
......@@ -2,14 +2,25 @@
OPTIONS=""
MAKE_OPTIONS=""
BUILDPATH=""
BUILDPATH="build"
#set default Build type to Release
if [ "$BUILDTYPE" == "" ]; then
BUILDTYPE="Release"
fi
# set buildpath according to buildtype
BUILDPATH="$BUILDPATH-$BUILDTYPE"
#set CMake build Type
OPTIONS="-DCMAKE_BUILD_TYPE=$BUILDTYPE"
if [ "$COMPILER" == "gcc" ]; then
echo "Setting Compiler to GCC";
BUILDPATH="gcc"
BUILDPATH="$BUILDPATH-gcc"
# without icecc: no options required
OPTIONS="-DCMAKE_CXX_COMPILER=/usr/lib/icecc/bin/g++ -DCMAKE_C_COMPILER=/usr/lib/icecc/bin/gcc"
OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=/usr/lib/icecc/bin/g++ -DCMAKE_C_COMPILER=/usr/lib/icecc/bin/gcc"
MAKE_OPTIONS="-j16"
export ICECC_CXX=/usr/bin/g++ ; export ICECC_CC=/usr/bin/gcc
......@@ -21,7 +32,7 @@ elif [ "$COMPILER" == "clang" ]; then
# OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=/usr/lib/icecc/bin/g++ -DCMAKE_C_COMPILER=/usr/lib/icecc/bin/gcc -DGTEST_PREFIX=~/sw/gtest-1.7.0-clang/ "
# export ICECC_CXX=/usr/bin/clang++ ; export ICECC_CC=/usr/bin/clang
BUILDPATH="clang"
BUILDPATH="$BUILDPATH-clang"
MAKE_OPTIONS="-j6"
echo "Setting compiler to CLANG";
......
......@@ -7,12 +7,16 @@ set -e
# COMPILER= gcc/clang
# LANGUAGE= C++98 / C++11
# QTVERSION= QT4/QT5
# BUILDTYPE= Debug / Release
#include ci options script
MY_DIR=$(dirname $(readlink -f $0))
source $MY_DIR/ci-linux-config.sh
# copy artifact files to toplevel and remove subdirectory
rsync -a $MY_DIR/.. $MY_DIR/../..
rm -rf artifacts
########################################
# Fetch test data
########################################
......@@ -24,7 +28,7 @@ git clone git@roosevelt:moebius/OpenFlipper-Test-Data.git TestData
#########################################
# Run tests
cd build-release-$BUILDPATH
cd $BUILDPATH
#clean old cmake cache as the path might have changed
find . -name "CMakeCache.txt" -type f -delete
......@@ -40,7 +44,7 @@ then
rm DartConfiguration.tcl
fi
cmake -DCMAKE_BUILD_TYPE=Release -DOPENFLIPPER_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../
cmake -DOPENFLIPPER_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../
#tell the location to the libs from build jobs
export LD_LIBRARY_PATH=$(pwd)/Build/lib:$LD_LIBRARY_PATH
......
#!/bin/bash
# Script abort on error
set -e
# Expected Settings via environment variables:
# COMPILER= gcc/clang
# LANGUAGE= C++98 / C++11
# QTVERSION= QT4/QT5
OPTIONS=""
MAKE_OPTIONS=""
BUILDPATH=""
if [ "$COMPILER" == "gcc" ]; then
echo "Building with GCC";
BUILDPATH="gcc"
# without icecc: no options required
OPTIONS="-DCMAKE_CXX_COMPILER=/usr/lib/icecc/bin/g++ -DCMAKE_C_COMPILER=/usr/lib/icecc/bin/gcc"
MAKE_OPTIONS="-j16"
export ICECC_CXX=/usr/bin/g++ ; export ICECC_CC=/usr/bin/gcc
elif [ "$COMPILER" == "clang" ]; then
OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DGTEST_PREFIX=~/sw/gtest-1.8.0-clang/ "
# Build options with icecc /not working due to strange symbol errors
# OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=/usr/lib/icecc/bin/g++ -DCMAKE_C_COMPILER=/usr/lib/icecc/bin/gcc -DGTEST_PREFIX=~/sw/gtest-1.7.0-clang/ "
# export ICECC_CXX=/usr/bin/clang++ ; export ICECC_CC=/usr/bin/clang
BUILDPATH="clang"
MAKE_OPTIONS="-j6"
echo "Building with CLANG";
fi
if [ "$LANGUAGE" == "C++98" ]; then
echo "Building with C++98";
BUILDPATH="$BUILDPATH-cpp98"
elif [ "$LANGUAGE" == "C++11" ]; then
echo "Building with C++11";
OPTIONS="$OPTIONS -DCMAKE_CXX_FLAGS='-std=c++11' "
BUILDPATH="$BUILDPATH-cpp11"
fi
if [ "$QTVERSION" == "QT4" ]; then
echo "Building with QT4";
OPTIONS="$OPTIONS -DFORCE_QT4=TRUE "
BUILDPATH="$BUILDPATH-qt4"
elif [ "$QTVERSION" == "QT5" ]; then
echo "Building with QT5";
BUILDPATH="$BUILDPATH-qt5"
OPTIONS="$OPTIONS -DFORCE_QT4=FALSE -DQWT6_INCLUDE_DIR=~/sw/qwt-6.1.2-qt5/include -DQWT6_LIBRARY_DIR=~/sw/qwt-6.1.2-qt5/lib -DQWT6_LIBRARY=~/sw/qwt-6.1.2-qt5/lib/libqwt-qt5.so -DQT5_INSTALL_PATH=~/sw/qt-5.5.1/5.5/gcc_64"
export LD_LIBRARY_PATH=~/sw/qt-5.5.1/5.5/gcc_64/lib
elif [ "$QTVERSION" == "QT5.9.0" ]; then
echo "Building with QT5.9.0";
BUILDPATH="$BUILDPATH-qt5.9.0"
OPTIONS="$OPTIONS -DFORCE_QT4=FALSE -DQWT6_INCLUDE_DIR=~/sw/qwt-6.1.3-qt5.9.0/include -DQWT6_LIBRARY_DIR=~/sw/qwt-6.1.3-qt5.9.0/lib -DQWT6_LIBRARY=~/sw/qwt-6.1.3-qt5.9.0/lib/libqwt.so -DQT5_INSTALL_PATH=~/sw/Qt/5.9/gcc_64"
fi
echo "Building with path: build-release-$BUILDPATH"
echo "Full cmake options: $OPTIONS "
########################################
# Build daemon cleanup code
########################################
########################################
# Fetch submodules
########################################
########################################
# Show information for easier debugging
########################################
########################################
# Fetch test data
########################################
rm -rf TestData
git clone git@roosevelt:moebius/OpenFlipper-Test-Data.git TestData
#########################################
# Build Release version and Unittests
#########################################
# Make release build folder
if [ ! -d build-release-$BUILDPATH ]; then
mkdir build-release-$BUILDPATH
fi
cd build-release-$BUILDPATH
cmake -DCMAKE_BUILD_TYPE=Release -DOPENFLIPPER_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../
#build it
make $MAKE_OPTIONS
#########################################
# Run Release Unittests
#########################################
# Run tests
cd tests
bash run_tests.sh
cd ..
......@@ -21,3 +21,13 @@ make
# Required for the tests to build, if a package was generated
make fixbundle
cd ..
#create an artifact directory
if [ ! -d artifacts ]; then
mkdir artifacts
fi
#cp -R * artifacts
rsync -a --exclude=artifacts --exclude=.git . ./artifacts
\ No newline at end of file
# leave artifacts subdirectory and copy files to toplevel
rsync -a ./artifacts ./
rm -rf artifacts
########################################
# Fetch test data
......
# leave artifacts subdirectory and copy files to toplevel
rsync -a ./artifacts ./
rm -rf artifacts
########################################
# Fetch test data
########################################
......
########################################
# Build daemon cleanup code
########################################
########################################
# Fetch submodules
########################################
#git submodule init
#git submodule update --remote
########################################
# Show information for easier debugging
########################################
########################################
# Fetch test data
########################################
rm -rf TestData
git clone git@roosevelt:moebius/OpenFlipper-Test-Data.git TestData
########################################
# Build
########################################
if [ ! -d build-release ]; then
mkdir build-release
fi
cd build-release
# Build without ports to avoid qt4 collision
/opt/local/bin/cmake ../ -DCMAKE_CXX_FLAGS='-std=c++11' -DQWT6_INCLUDE_DIR=/Users/jenkins/sw/qwt-6.1.2-Qt5-installed/lib/qwt.framework/Headers -DQWT6_LIBRARY=/Users/jenkins/sw/qwt-6.1.2-Qt5-installed/lib/qwt.framework -DQT5_INSTALL_PATH=/Qt/Qt5.5.1/5.5/clang_64 -DGLEW_INCLUDE_DIR=/Users/jenkins/sw/glew-1.10.0-installed/include/ -DGLEW_LIBRARY=/Users/jenkins/sw/glew-1.10.0-installed/lib/libGLEW.dylib
make
# Required for the tests to build, if a package was generated
make fixbundle
########################################
# Test
########################################
# Run tests
cd tests
bash run_tests.sh
cd ..
########################################
# Doc
########################################
make doc >> ../Doxygen-warning.log 2> ../Doxygen-error.log
########################################
# Package
########################################
rm -f *.dmg
make OpenFlipper_package
mv *.dmg OpenFlipper-Free-GIT-$CI_BUILD_REF-QT5.5.1-CPP11.dmg
@echo off
REM bootstrapping script for stage 2 ci scripts
REM to avoid repetitive cloning, in lieu of the sgitlab tickyrunners
REM we copy the entire content of our bild folder to an artifacts subdolder
REM and share it with other buildstages.
REM
REM initial building is considered as stage 0,this script is stage 1 all
REM following stages are stage 2. The purpos of this script is to move all
REM files from the artifacts directory back to the root directory and call
REM the script for this ci job.
REM This way the stage 2 script can delete the artifacts folder safely, as
REM deleting a script that is running will cause an error on windows systems.
REM
REM #######################################
REM # bootstrap level 0
REM #######################################
IF "%BOOTSTRAPLEVEL%" == "" (
set BOOTSTRAPLEVEL=0
)
IF "%BOOTSTRAPLEVEL%" == "0" (
REM copy all files from artifacts folder to root folder
echo %TIME%: Restoring artifacts from artifacts directory ...
robocopy artifacts ./ /e /NFL /NDL /NJH /NJS /nc /ns /np
REM set the bootstrap level to 1
echo %TIME%: Entering bootstrap level 1 ...
set BOOTSTRAPLEVEL=1
REM call the copy of this script outside artifacts folder
call %~dp0\..\..\CI\ci-windows-bootstrap.bat
REM return the error code if not 0
IF "%errorlevel%" NEQ "0" exit /b %errorlevel%
) else (
REM #######################################
REM # bootstrap level 1
REM #######################################
REM remove the artifacts folder, it may cause problems with e.g. cmake
echo %Time%: Removing artifacts directory ...
rmdir /Q /S artifacts
REM call the stage 2 script
echo %Time%: Calling %~dp0\%STAGE2SCRIPT% ...
call %~dp0\%STAGE2SCRIPT%
REM store the error code of the stage 2 script
set bootstrapretval=%errorlevel%
REM copy this script back to the artifacts folder
if not exist ./artifacts (
echo %Time%: recrerating artifacts directory ...
cd %~dp0\..
mkdir artifacts
cd artifacts
mkdir CI
cd ..
)
echo %Time%: restoring bootstrap script ...
cp %~dp0\ci-windows-bootstrap.bat artifacts/CI/ci-windows-bootstrap.bat
REM when this script returns, the windows Command interpreter will look
REM at the original position for the script to continue after the the call command
REM of level 0
IF "%bootstrapretval%" NEQ "0" exit /b %bootstrapretval%
)
\ No newline at end of file
......@@ -26,3 +26,13 @@ IF %errorlevel% NEQ 0 exit /b %errorlevel%
%VS_PATH% /Build "Release" OpenFlipper.sln /Project "ALL_BUILD"
IF %errorlevel% NEQ 0 exit /b %errorlevel%
:: back to the root folder
cd ..
:: copy all files to a new artifacts folder except the .git folder
:: use the following options to make robocopy silent /NFL /NDL /NJH /NJS /nc /ns /np
robocopy . artifacts /e /NFL /NDL /NJH /NJS /nc /ns /np /xd artifacts /xd .git
::robocopy uses some error codes different from 0
IF %errorlevel% LSS 8 exit /b 0
\ No newline at end of file
@echo off
::########################################
::# Fetch test data
::########################################
......@@ -10,15 +11,20 @@ git clone git@roosevelt.informatik.rwth-aachen.de:moebius/OpenFlipper-Test-Data.
::load configuration and settings
call %~dp0\ci-windows-config.bat
echo %Time%: Entering rel directory ...
::enter build directory
cd rel
echo %Time%: Removing CMakeCache ...
::delete cmake cache
del /s /q CMakeCache.txt
echo %Time%: Removing CTestFile ...
del /q CTestTestfile.cmake
echo %Time%: Removing DartConfiguration ...
del /q DartConfiguration.tcl
echo %Time%: running cmake ...
::invoke cmake to fix paths
"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_PREFIX="%LIBPATH_BASE%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DOPENFLIPPER_BUILD_UNIT_TESTS=TRUE %CMAKE_CONFIGURATION% ..
......
@echo off
::########################################
::# Fetch test data
::########################################
rmdir /Q /S TestData
:: clone libraries git (set env variable to GIT_SSH_COMMAND maybe use setx once as this key won't change)
set GIT_SSH_COMMAND=ssh -i E:\\\gitlab\\\id_rsa
git clone git@roosevelt.informatik.rwth-aachen.de:moebius/OpenFlipper-Test-Data.git TestData
mkdir rel
cd rel
del *.exe
:: use 4 threads for parallel compilation of the project
set CL=/MP4
:: determine VS version and set variables
if "%COMPILER%" == "VS2012" (
set QT_COMPILERPREFIX=msvc2012
set VS_COMPILERVERSION_LONG=11.0
set VS_COMPILERVERSION_SHORT=11
set VS_EDITION_YEAR=2012
)
if "%COMPILER%" == "VS2013" (
set QT_COMPILERPREFIX=msvc2013
set VS_COMPILERVERSION_LONG=12.0
set VS_COMPILERVERSION_SHORT=12
set VS_EDITION_YEAR=2013
)
if "%COMPILER%" == "VS2015" (
set QT_COMPILERPREFIX=msvc2015
set VS_COMPILERVERSION_LONG=14.0
set VS_COMPILERVERSION_SHORT=14
set VS_EDITION_YEAR=2015
)
set BUILD_PLATFORM=%COMPILER%
:: determine architecture and set variables
if "%ARCHITECTURE%" == "x64" (
set ARCHBITS=_64
set ARCH_VS= Win64
set STRING_ARCH=64-Bit
) else (
set ARCHBITS=
set ARCH_VS=
set STRING_ARCH=32-Bit
)
set GENERATOR=Visual Studio %VS_COMPILERVERSION_SHORT% %VS_EDITION_YEAR%%ARCH_VS%
set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio %VS_COMPILERVERSION_LONG%\Common7\IDE\devenv.com"
:: determine Qt Version and set variables
if "%QT_VERSION%" == "Qt5.5.1" (
set QT_REV_LONG=5.5.1
set QT_REV=5.5
)
if "%QT_VERSION%" == "Qt5.6.2" (
set QT_REV_LONG=5.6.2
set QT_REV=5.6
)
if "%QT_VERSION%" == "Qt5.7.0" (
set QT_REV_LONG=5.7.0
set QT_REV=5.7
)
if "%QT_VERSION%" == "Qt5.8.0" (
set QT_REV_LONG=5.8.0
set QT_REV=5.8
)
if "%QT_VERSION%" == "Qt5.9.0" (
set QT_REV_LONG=5.9.0
set QT_REV=5.9
)
set QT_SUFFIX=
set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\%QT_VERSION%\%QT_REV%\%QT_COMPILERPREFIX%%ARCHBITS%%QT_SUFFIX%
:: set up Libraty Paths
set LIBPATH_BASE=E:\libs\%COMPILER%
set CMAKE_WINDOWS_LIBS_DIR=E:\libs
:: freeglut assume we use freeglut 3.0.0 if not try 2.8.1 if not sanitize the libs folder
if exist %LIBPATH_BASE%\%ARCHITECTURE%\freeglut-3.0.0\include (
set GLUT_INCLUDE_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\freeglut-3.0.0\include
set GLUT_GLUT_LIBRARY=%LIBPATH_BASE%\%ARCHITECTURE%\freeglut-3.0.0\lib\freeglut.lib
) else (
if exist %LIBPATH_BASE%\%ARCHITECTURE%\freeglut-2.8.1\include (
set GLUT_INCLUDE_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\freeglut-2.8.1\include
set GLUT_GLUT_LIBRARY=%LIBPATH_BASE%\%ARCHITECTURE%\freeglut-2.8.1\lib\freeglut.lib
) else (
echo "Error: No suitable version of freeglut found!"
exit
)
)
:: check for gtest version 1.6 or 1.7 use the highest found version
for /l %%x in (6, 1, 7) do (
if exist %LIBPATH_BASE%\%ARCHITECTURE%\gtest-1.%%x.0 (
set GTESTVERSION=gtest-1.%%x.0
)
)
:: check for glew version 6.1.1 to 6.1.3 use the highest found version
for /l %%x in (0, 1, 3) do (
if exist %LIBPATH_BASE%\%ARCHITECTURE%\glew-1.1%%x.0\include (
set GLEW_INCLUDE_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\glew-1.1%%x.0\include
set GLEW_LIBRARY_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\glew-1.1%%x.0\lib\glew32.lib
)
)
:: check for qwt version 6.1.1 to 6.1.3 use the highest found version
for /l %%x in (0, 1, 3) do (
if exist %LIBPATH_BASE%\%ARCHITECTURE%\qwt-6.1.%%x-qt%QT_REV_LONG%\include (
set QWT6_INCLUDE_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\qwt-6.1.%%x-qt%QT_REV_LONG%\include
set QWT6_LIBRARY=%LIBPATH_BASE%\%ARCHITECTURE%\qwt-6.1.%%x-qt%QT_REV_LONG%\lib\qwt.lib
set QWT6_LIBRARY_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\qwt-6.1.%%x-qt%QT_REV_LONG%\lib
)
:: unfortunately qwt is not named consistently in our repos so we also have to check for a different folder named
if exist %LIBPATH_BASE%\%ARCHITECTURE%\qwt-6.1.%%x-qt-%QT_REV_LONG%\include (
set QWT6_INCLUDE_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\qwt-6.1.%%x-qt-%QT_REV_LONG%\include
set QWT6_LIBRARY=%LIBPATH_BASE%\%ARCHITECTURE%\qwt-6.1.%%x-qt-%QT_REV_LONG%\lib\qwt.lib
set QWT6_LIBRARY_DIR=%LIBPATH_BASE%\%ARCHITECTURE%\qwt-6.1.%%x-qt-%QT_REV_LONG%\lib
)
)
set CMAKE_CONFIGURATION=%QT_BASE_CONFIG% -DGLUT_INCLUDE_DIR="%GLUT_INCLUDE_DIR%" -DGLUT_glut_LIBRARY="%GLUT_GLUT_LIBRARY%" -DGLEW_INCLUDE_DIR="%GLEW_INCLUDE_DIR%" -DGLEW_LIBRARY="%GLEW_LIBRARY_DIR%" -DQWT6_INCLUDE_DIR=%QWT6_INCLUDE_DIR% -DQWT6_LIBRARY=%QWT6_LIBRARY% -DQWT6_LIBRARY_DIR=%QWT6_LIBRARY_DIR% -DCMAKE_WINDOWS_LIBS_DIR=%CMAKE_WINDOWS_LIBS_DIR%
"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_PREFIX="%LIBPATH_BASE%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DOPENFLIPPER_BUILD_UNIT_TESTS=TRUE %CMAKE_CONFIGURATION% ..
IF %errorlevel% NEQ 0 exit /b %errorlevel%
:: build Open-Flipper
%VS_PATH% /Build "Release" OpenFlipper.sln /Project "ALL_BUILD"
IF %errorlevel% NEQ 0 exit /b %errorlevel%
del *.exe
:: collect dlls and copy them to Openflipper dir
"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_PREFIX="%LIBPATH_BASE%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DOPENFLIPPER_BUILD_UNIT_TESTS=TRUE %CMAKE_CONFIGURATION% ..
%VS_PATH% /Build "Release" OpenFlipper.sln /Project "PACKAGE"
IF %errorlevel% NEQ 0 exit /b %errorlevel%
move OpenFlipper-*.exe "OpenFlipper-Free-Git-Master-%CI_BUILD_REF%-%BUILD_PLATFORM%-%STRING_ARCH%-%QT_VERSION%.exe"
cd tests
copy ..\Build\Qt*.dll testBinaries
copy ..\Build\icu*.dll testBinaries
run_tests.bat
IF %errorlevel% NEQ 0 exit /b %errorlevel%
cd ..
cd Build
dir
......@@ -414,6 +414,7 @@ set (PREFOUND_PACKAGES "${LOADED_PACKAGES}" CACHE INTERNAL "List of packages tha
# ========================================================================
add_subdirectory (OpenFlipper/CoreApp)
GROUP_PROJECT(${OPENFLIPPER_PRODUCT_STRING} ${OPENFLIPPER_PRODUCT_STRING})
# ========================================================================
......
OpenFlipper @ 2ce22d29
Subproject commit 29aa322efed8eea4f5b4cfb00fa389afd55e9ba6
Subproject commit 2ce22d29f935e0acda432be01fdf64f08771fc04
Plugin-AlignMeshes @ 91bad5cc
Subproject commit 41812c828baff8c2da7002332ec91174f5636a6b
Subproject commit 91bad5cc6016ac961b33c00519d694e26f77e655
Plugin-Backup @ 552239bd
Subproject commit f9ed35dc49616814392f6ac6505a4f9b3dedb487
Subproject commit 552239bdf4bd29691f8a8ff50f4357f3b2794be4
Plugin-Color @ 674a6a61
Subproject commit 6cf58d2cf9fbc12fb452ed2fdff219902ed7ad61
Subproject commit 674a6a61d7997bd1bb233088dfe96ec602bf669a
Plugin-Components @ 49c3ff8f
Subproject commit d2bc1fb29f5d1dd404f59822d9de71f543c1f1fe
Subproject commit 49c3ff8f9b14b83c2b7fa3c87a133c42977b8a99
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment