diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 66086c0a9dbc91b740aefcfff4da751d1d210b28..4a4b28277007f39a31762fa626a961ec7fd206fe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ gcc-c++11-Qt5: COMPILER: "gcc" LANGUAGE: "C++11" QTVERSION: "QT5" - script: " git submodule update --init --remote ; OpenFlipper/CI/ci-linux.sh" + script: "CI/ci-linux.sh" tags: - Linux @@ -12,13 +12,13 @@ clang-c++11-Qt5: COMPILER: "clang" LANGUAGE: "C++11" QTVERSION: "QT5" - script: " git submodule update --init --remote ; OpenFlipper/CI/ci-linux.sh" + script: "CI/ci-linux.sh" tags: - Linux - MultiThreads cppcheck: - script: " git submodule update --init --remote ; OpenFlipper/CI/ci-cppcheck.sh" + script: "CI/ci-cppcheck.sh" tags: - Linux - MultiThreads @@ -27,7 +27,7 @@ cppcheck: - cppcheck.log VS2015-Qt-5.6.0-x64: - script: "OpenFlipper\\CI\\VS2015-Qt-5.6.0-x64.bat" + script: "CI\\VS2015-Qt-5.6.0-x64.bat" tags: - VS2015 - Qt56 @@ -36,7 +36,7 @@ VS2015-Qt-5.6.0-x64: - rel/*.exe VS2015-Qt-5.6.0-x32: - script: "OpenFlipper\\CI\\VS2015-Qt-5.6.0-x32.bat" + script: "CI\\VS2015-Qt-5.6.0-x32.bat" tags: - VS2015 - Qt56 @@ -46,7 +46,7 @@ VS2015-Qt-5.6.0-x32: VS2013-Qt-5.5.1-x64: - script: "OpenFlipper\\CI\\VS2013-Qt-5.5.1-x64.bat" + script: "CI\\VS2013-Qt-5.5.1-x64.bat" tags: - VS2013 - Qt551 @@ -55,7 +55,7 @@ VS2013-Qt-5.5.1-x64: - rel/*.exe Mac-Cpp11: - script: " git submodule update --init --remote ; OpenFlipper/CI/ci-mac.sh" + script: "CI/ci-mac.sh" tags: - Apple artifacts: @@ -65,7 +65,7 @@ Mac-Cpp11: Doc-publish: only: - master - script: " git submodule update --init --remote ; OpenFlipper/CI/ci-doc.sh" + script: "CI/ci-doc.sh" tags: - Linux artifacts: diff --git a/CI/VS2013-Qt-5.5.1-x64.bat b/CI/VS2013-Qt-5.5.1-x64.bat new file mode 100644 index 0000000000000000000000000000000000000000..ca55c302de224f0fe976bcc3898a31f34ebbf8b2 --- /dev/null +++ b/CI/VS2013-Qt-5.5.1-x64.bat @@ -0,0 +1,84 @@ +rmdir libs_required /s /q + + +git submodule init +git submodule update --remote + +::######################################## +::# Fetch test data +::######################################## +rmdir /Q /S TestData +:: clone libraries git (set env variable to GIT_SSH_COMMAND maybe use setx once and remove this line as this key won't change) +set GIT_SSH_COMMAND=ssh -i E:\\\gitlab\\\id_rsa +git clone git@roosevelt:moebius/OpenFlipper-Test-Data.git TestData + +mkdir rel +cd rel + +del *.exe + +set ARCHITECTURE=x64 +set ARCH_VS= Win64 +set STRING_ARCH=64-Bit + +set QT_REV=5.5 +set QT_SUFFIX= + +set LIBPATH_BASE=C:\libs\VS2013 +set GTESTVERSION=gtest-1.6.0 +set GENERATOR=Visual Studio 12%ARCH_VS% +set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.com" + +set QT_VERSION=Qt5.5.1 +set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=C:\Qt\%QT_VERSION%-vs2013-%STRING_ARCH%\%QT_REV%\msvc2013_64%QT_SUFFIX% + +set GLUT_INCLUDE_DIR=C:\libs\VS2013\%ARCHITECTURE%\freeglut-2.8.1\include +set GLUT_GLUT_LIBRARY=C:\libs\VS2013\%ARCHITECTURE%\freeglut-2.8.1\lib\freeglut.lib +set GLEW_INCLUDE_DIR=C:\libs\VS2013\%ARCHITECTURE%\glew-1.10.0\include +set GLEW_LIBRARY_DIR=C:\libs\VS2013\%ARCHITECTURE%\glew-1.10.0\lib\glew32.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%" + +"C:\Program Files (x86)\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% + +%VS_PATH% /Build "Release" OpenFlipper.sln /Project "ALL_BUILD" + +IF %errorlevel% NEQ 0 exit /b %errorlevel% + + +set BUILD_PLATFORM=VS2013 + +del *.exe + +"C:\Program Files (x86)\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 + + + + + + + + + + diff --git a/CI/VS2015-Qt-5.6.0-x32.bat b/CI/VS2015-Qt-5.6.0-x32.bat new file mode 100644 index 0000000000000000000000000000000000000000..ff80b1ba9b23d109a078e922a6db2eedd73b52f1 --- /dev/null +++ b/CI/VS2015-Qt-5.6.0-x32.bat @@ -0,0 +1,84 @@ +rmdir libs_required /s /q + + +git submodule init +git submodule update --remote + +::######################################## +::# 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:moebius/OpenFlipper-Test-Data.git TestData + +mkdir rel +cd rel + +del *.exe + +set ARCHITECTURE=x32 +set ARCH_VS= +set STRING_ARCH=32-Bit + +set QT_REV=5.6 +set QT_SUFFIX= + +set LIBPATH_BASE=C:\libs\VS2015 +set GTESTVERSION=gtest-1.7.0 +set GENERATOR=Visual Studio 14%ARCH_VS% +set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com" + +set QT_VERSION=Qt5.6.0 +set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=C:\Qt\%QT_VERSION%-vs2015-%STRING_ARCH%\%QT_REV%\msvc2015%QT_SUFFIX% + +set GLUT_INCLUDE_DIR=C:\libs\VS2015\%ARCHITECTURE%\freeglut-3.0.0\include +set GLUT_GLUT_LIBRARY=C:\libs\VS2015\%ARCHITECTURE%\freeglut-3.0.0\lib\freeglut.lib +set GLEW_INCLUDE_DIR=C:\libs\VS2015\%ARCHITECTURE%\glew-1.13.0\include +set GLEW_LIBRARY_DIR=C:\libs\VS2015\%ARCHITECTURE%\glew-1.13.0\lib\glew32.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%" + +"C:\Program Files (x86)\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% + +%VS_PATH% /Build "Release" OpenFlipper.sln /Project "ALL_BUILD" + +IF %errorlevel% NEQ 0 exit /b %errorlevel% + + +set BUILD_PLATFORM=VS2015 + +del *.exe + +"C:\Program Files (x86)\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 + + + + + + + + + + diff --git a/CI/VS2015-Qt-5.6.0-x64.bat b/CI/VS2015-Qt-5.6.0-x64.bat new file mode 100644 index 0000000000000000000000000000000000000000..977cc38ea76891d8215797f436ec53433440d30a --- /dev/null +++ b/CI/VS2015-Qt-5.6.0-x64.bat @@ -0,0 +1,84 @@ +rmdir libs_required /s /q + + +git submodule init +git submodule update --remote + +::######################################## +::# 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:moebius/OpenFlipper-Test-Data.git TestData + +mkdir rel +cd rel + +del *.exe + +set ARCHITECTURE=x64 +set ARCH_VS= Win64 +set STRING_ARCH=64-Bit + +set QT_REV=5.6 +set QT_SUFFIX= + +set LIBPATH_BASE=C:\libs\VS2015 +set GTESTVERSION=gtest-1.7.0 +set GENERATOR=Visual Studio 14%ARCH_VS% +set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com" + +set QT_VERSION=Qt5.6.0 +set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=C:\Qt\%QT_VERSION%-vs2015-%STRING_ARCH%\%QT_REV%\msvc2015_64%QT_SUFFIX% + +set GLUT_INCLUDE_DIR=C:\libs\VS2015\%ARCHITECTURE%\freeglut-3.0.0\include +set GLUT_GLUT_LIBRARY=C:\libs\VS2015\%ARCHITECTURE%\freeglut-3.0.0\lib\freeglut.lib +set GLEW_INCLUDE_DIR=C:\libs\VS2015\%ARCHITECTURE%\glew-1.13.0\include +set GLEW_LIBRARY_DIR=C:\libs\VS2015\%ARCHITECTURE%\glew-1.13.0\lib\glew32.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%" + +"C:\Program Files (x86)\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% + +%VS_PATH% /Build "Release" OpenFlipper.sln /Project "ALL_BUILD" + +IF %errorlevel% NEQ 0 exit /b %errorlevel% + + +set BUILD_PLATFORM=VS2015 + +del *.exe + +"C:\Program Files (x86)\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 + + + + + + + + + + diff --git a/CI/ci-cppcheck.sh b/CI/ci-cppcheck.sh new file mode 100755 index 0000000000000000000000000000000000000000..81b2f34c28339aa92fb83cbfec452632d94cd251 --- /dev/null +++ b/CI/ci-cppcheck.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +# Exit script on any error +set -e + +#===================================== +# Color Settings: +#===================================== +NC='\033[0m' +OUTPUT='\033[0;32m' +WARNING='\033[0;93m' + +echo -e "${OUTPUT}" +echo "==============================================================================" +echo "Running cppcheck" +echo "==============================================================================" +echo -e "${NC}" +echo "Started: $(date)" +echo "Please Wait ..." + +# Run cppcheck and output into file +cppcheck --enable=all \ + -j4 \ + --quiet \ + -i OpenFlipper/libs_required/OpenMesh \ + -i build-release \ + -i build-debug \ + -i .svn \ + -i .git \ + --force \ + -UDOXY_IGNORE_THIS \ + --suppress=unusedPrivateFunction \ + --suppress=ConfigurationNotChecked \ + --suppress=missingIncludeSystem \ + -DOPENMESHDLLEXPORT="" \ + -Umin -Umax -UBMPOSTFIX \ + -DACGDLLEXPORT=""\ + -DDLLEXPORTONLY=""\ + -DDLLEXPORT=""\ + . &> cppcheck.log + +echo "Finished: $(date)" + +echo -e "${OUTPUT}" +echo "==============================================================================" +echo "CPPCHECK Messages" +echo "==============================================================================" +echo -e "${NC}" + + +# Echo output to command line for simple analysis via gitlab +cat cppcheck.log + +COUNT=$(wc -l < cppcheck.log ) + +echo -e "${OUTPUT}" +echo "==============================================================================" +echo "CPPCHECK Summary" +echo "==============================================================================" +echo -e "${NC}" + +MAX_ERROR=100 + +if [ $COUNT -gt $MAX_ERROR ]; then + echo -e ${WARNING} + echo "Total CPPCHECK error Count is $COUNT, which is too High (Max is $MAX_ERROR)! CPPCHECK Run failed"; + echo -e "${NC}" + exit 1; +else + echo "Total CPPCHECK error Count is $COUNT ... OK" +fi + + diff --git a/CI/ci-doc.sh b/CI/ci-doc.sh new file mode 100755 index 0000000000000000000000000000000000000000..d4b0f15eb067b430b07a4304a8e9c22c57bce615 --- /dev/null +++ b/CI/ci-doc.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ ! -d build-release ]; then + mkdir build-release +fi + +cd build-release + +cmake -DCMAKE_BUILD_TYPE=Release -DOPENFLIPPER_BUILD_UNIT_TESTS=FALSE ../ + +make doc >> Doxygen-warning.log 2> Doxygen-error.log + +# Copy to webserver +scp -r -P 2222 Build/share/OpenFlipper/Doc/DeveloperHTML/* hudson@web4-info8:OpenFlipper-Free-Daily/Doc/Free/Developer +scp -r -P 2222 Build/share/OpenFlipper/Doc/UserHTML/* hudson@web4-info8:OpenFlipper-Free-Daily/Doc/Free/User diff --git a/CI/ci-linux.sh b/CI/ci-linux.sh new file mode 100755 index 0000000000000000000000000000000000000000..5f3efe97ab7b09f8c48dead4198cb3a244d9fcff --- /dev/null +++ b/CI/ci-linux.sh @@ -0,0 +1,110 @@ +#!/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" +fi + +echo "Building with path: build-release-$BUILDPATH" +echo "Full cmake options: $OPTIONS " + +######################################## +# Build daemon cleanup code +######################################## +rm -rf libs_required + +######################################## +# Fetch submodules +######################################## +git submodule init +git submodule update --remote + +######################################## +# Show information for easier debugging +######################################## +git submodule status +ls OpenFlipper/libs_required/ + +######################################## +# 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 .. + diff --git a/CI/ci-mac.sh b/CI/ci-mac.sh new file mode 100755 index 0000000000000000000000000000000000000000..d76effcdc99de6e8dec4a54e34879580c8da327b --- /dev/null +++ b/CI/ci-mac.sh @@ -0,0 +1,70 @@ +######################################## +# Build daemon cleanup code +######################################## +rm -rf libs_required + + +######################################## +# Fetch submodules +######################################## +git submodule init +git submodule update --remote + +######################################## +# Show information for easier debugging +######################################## +git submodule status +ls OpenFlipper/libs_required/ + + +######################################## +# 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 + +