Merge branch 'master' into CustomProperties

This commit is contained in:
Jan
2021-02-17 17:16:37 +01:00
33 changed files with 855 additions and 246 deletions

4
.gitignore vendored
View File

@@ -1,8 +1,10 @@
.project .project
.cproject .cproject
CMakeLists.txt.user CMakeLists.txt.user*
build* build*
*.swp *.swp
.settings .settings
# ignore mac temporal files # ignore mac temporal files
.DS_Store .DS_Store
.idea
cmake-build*/

View File

@@ -37,15 +37,25 @@ cppcheck:
# OS: Linux # OS: Linux
# Compiler: gcc # Compiler: gcc
# Language: cpp11 # Language: cpp11
# QT Version: qt5.15.1
build-debug-gcc-cpp11: build-debug-gcc-cpp11-qt5.15.1:
stage: build stage: build
script: "CI/ci-linux-build.sh gcc cpp11 debug" script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
- Linux
- stretch
variables:
COMPILER: "gcc"
LANGUAGE: "cpp11"
BUILD_TYPE: "debug"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
artifacts: artifacts:
paths: paths:
- build-gcc-cpp11-debug-Vector-Checks/ - build-gcc-cpp11-qt5.15.1-debug-vectorchecks/
#----------- Job Informations: #----------- Job Informations:
# Type: Test: debug # Type: Test: debug
@@ -53,19 +63,29 @@ build-debug-gcc-cpp11:
# Compiler: gcc # Compiler: gcc
# Language: cpp11 # Language: cpp11
test-debug-gcc-cpp11: test-debug-gcc-cpp11-qt5.15.1:
stage: test stage: test
script: "CI/ci-linux-test.sh gcc cpp11 debug" script: "CI/ci-linux-test.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
dependencies: [build-debug-gcc-cpp11] - Linux
needs: [build-debug-gcc-cpp11] - stretch
- MultiThreads
variables:
COMPILER: "gcc"
LANGUAGE: "cpp11"
BUILD_TYPE: "debug"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
dependencies: [build-debug-gcc-cpp11-qt5.15.1]
needs: [build-debug-gcc-cpp11-qt5.15.1]
artifacts: artifacts:
reports: reports:
junit: junit:
- build-gcc-cpp11-debug-Vector-Checks/Unittests/report.xml - build-gcc-cpp11-qt5.15.1-debug-vectorchecks/Unittests/report.xml
- build-gcc-cpp11-debug-Vector-Checks/Unittests/report-customvec.xml - build-gcc-cpp11-qt5.15.1-debug-vectorchecks/Unittests/report-customvec.xml
- build-gcc-cpp11-debug-Vector-Checks/Unittests/report-doublevec.xml - build-gcc-cpp11-qt5.15.1-debug-vectorchecks/Unittests/report-doublevec.xml
#----------- Job Informations: #----------- Job Informations:
@@ -73,15 +93,25 @@ test-debug-gcc-cpp11:
# OS: Linux # OS: Linux
# Compiler: gcc # Compiler: gcc
# Language: cpp11 # Language: cpp11
# QT Version: qt5.15.1
build-release-gcc-cpp11: build-release-gcc-cpp11-qt5.15.1:
stage: build stage: build
script: "CI/ci-linux-build.sh gcc cpp11 release" script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
- Linux
- stretch
variables:
COMPILER: "gcc"
LANGUAGE: "cpp11"
BUILD_TYPE: "release"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
artifacts: artifacts:
paths: paths:
- build-gcc-cpp11-release-Vector-Checks/ - build-gcc-cpp11-qt5.15.1-release-vectorchecks/
#----------- Job Informations: #----------- Job Informations:
# Type: Test: release # Type: Test: release
@@ -89,19 +119,29 @@ build-release-gcc-cpp11:
# Compiler: gcc # Compiler: gcc
# Language: cpp11 # Language: cpp11
test-release-gcc-cpp11: test-release-gcc-cpp11-qt5.15.1:
stage: test stage: test
script: "CI/ci-linux-test.sh gcc cpp11 release" script: "CI/ci-linux-test.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
dependencies: [build-release-gcc-cpp11] - Linux
needs: [build-release-gcc-cpp11] - stretch
- MultiThreads
variables:
COMPILER: "gcc"
LANGUAGE: "cpp11"
BUILD_TYPE: "release"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
dependencies: [build-release-gcc-cpp11-qt5.15.1]
needs: [build-release-gcc-cpp11-qt5.15.1]
artifacts: artifacts:
reports: reports:
junit: junit:
- build-gcc-cpp11-release-Vector-Checks/Unittests/report.xml - build-gcc-cpp11-qt5.15.1-release-vectorchecks/Unittests/report.xml
- build-gcc-cpp11-release-Vector-Checks/Unittests/report-customvec.xml - build-gcc-cpp11-qt5.15.1-release-vectorchecks/Unittests/report-customvec.xml
- build-gcc-cpp11-release-Vector-Checks/Unittests/report-doublevec.xml - build-gcc-cpp11-qt5.15.1-release-vectorchecks/Unittests/report-doublevec.xml
#----------- Job Informations: #----------- Job Informations:
@@ -109,15 +149,25 @@ test-release-gcc-cpp11:
# OS: Linux # OS: Linux
# Compiler: clang # Compiler: clang
# Language: cpp11 # Language: cpp11
# QT Version: qt5.15.1
build-debug-clang-cpp11: build-debug-clang-cpp11-qt5.15.1:
stage: build stage: build
script: "CI/ci-linux-build.sh clang cpp11 debug" script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
- Linux
- stretch
variables:
COMPILER: "clang"
LANGUAGE: "cpp11"
BUILD_TYPE: "debug"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
artifacts: artifacts:
paths: paths:
- build-clang-cpp11-debug-Vector-Checks/ - build-clang-cpp11-qt5.15.1-debug-vectorchecks/
#----------- Job Informations: #----------- Job Informations:
# Type: Test: debug # Type: Test: debug
@@ -125,19 +175,29 @@ build-debug-clang-cpp11:
# Compiler: clang # Compiler: clang
# Language: cpp11 # Language: cpp11
test-debug-clang-cpp11: test-debug-clang-cpp11-qt5.15.1:
stage: test stage: test
script: "CI/ci-linux-test.sh clang cpp11 debug" script: "CI/ci-linux-test.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
dependencies: [build-debug-clang-cpp11] - Linux
needs: [build-debug-clang-cpp11] - stretch
- MultiThreads
variables:
COMPILER: "clang"
LANGUAGE: "cpp11"
BUILD_TYPE: "debug"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
dependencies: [build-debug-clang-cpp11-qt5.15.1]
needs: [build-debug-clang-cpp11-qt5.15.1]
artifacts: artifacts:
reports: reports:
junit: junit:
- build-clang-cpp11-debug-Vector-Checks/Unittests/report.xml - build-clang-cpp11-qt5.15.1-debug-vectorchecks/Unittests/report.xml
- build-clang-cpp11-debug-Vector-Checks/Unittests/report-customvec.xml - build-clang-cpp11-qt5.15.1-debug-vectorchecks/Unittests/report-customvec.xml
- build-clang-cpp11-debug-Vector-Checks/Unittests/report-doublevec.xml - build-clang-cpp11-qt5.15.1-debug-vectorchecks/Unittests/report-doublevec.xml
#----------- Job Informations: #----------- Job Informations:
@@ -145,15 +205,25 @@ test-debug-clang-cpp11:
# OS: Linux # OS: Linux
# Compiler: clang # Compiler: clang
# Language: cpp11 # Language: cpp11
# QT Version: qt5.15.1
build-release-clang-cpp11: build-release-clang-cpp11-qt5.15.1:
stage: build stage: build
script: "CI/ci-linux-build.sh clang cpp11 release" script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
- Linux
- stretch
variables:
COMPILER: "clang"
LANGUAGE: "cpp11"
BUILD_TYPE: "release"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
artifacts: artifacts:
paths: paths:
- build-clang-cpp11-release-Vector-Checks/ - build-clang-cpp11-qt5.15.1-release-vectorchecks/
#----------- Job Informations: #----------- Job Informations:
# Type: Test: release # Type: Test: release
@@ -161,19 +231,29 @@ build-release-clang-cpp11:
# Compiler: clang # Compiler: clang
# Language: cpp11 # Language: cpp11
test-release-clang-cpp11: test-release-clang-cpp11-qt5.15.1:
stage: test stage: test
script: "CI/ci-linux-test.sh clang cpp11 release" script: "CI/ci-linux-test.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
dependencies: [build-release-clang-cpp11] - Linux
needs: [build-release-clang-cpp11] - stretch
- MultiThreads
variables:
COMPILER: "clang"
LANGUAGE: "cpp11"
BUILD_TYPE: "release"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
dependencies: [build-release-clang-cpp11-qt5.15.1]
needs: [build-release-clang-cpp11-qt5.15.1]
artifacts: artifacts:
reports: reports:
junit: junit:
- build-clang-cpp11-release-Vector-Checks/Unittests/report.xml - build-clang-cpp11-qt5.15.1-release-vectorchecks/Unittests/report.xml
- build-clang-cpp11-release-Vector-Checks/Unittests/report-customvec.xml - build-clang-cpp11-qt5.15.1-release-vectorchecks/Unittests/report-customvec.xml
- build-clang-cpp11-release-Vector-Checks/Unittests/report-doublevec.xml - build-clang-cpp11-qt5.15.1-release-vectorchecks/Unittests/report-doublevec.xml
#----------- Job Informations: #----------- Job Informations:
@@ -181,15 +261,25 @@ test-release-clang-cpp11:
# OS: Linux # OS: Linux
# Compiler: gcc # Compiler: gcc
# Language: cpp14 # Language: cpp14
# QT Version: qt5.15.1
build-debug-gcc-cpp14: build-debug-gcc-cpp14-qt5.15.1:
stage: build stage: build
script: "CI/ci-linux-build.sh gcc cpp14 debug" script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
- Linux
- stretch
variables:
COMPILER: "gcc"
LANGUAGE: "cpp14"
BUILD_TYPE: "debug"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
artifacts: artifacts:
paths: paths:
- build-gcc-cpp14-debug-Vector-Checks/ - build-gcc-cpp14-qt5.15.1-debug-vectorchecks/
#----------- Job Informations: #----------- Job Informations:
# Type: Test: debug # Type: Test: debug
@@ -197,19 +287,29 @@ build-debug-gcc-cpp14:
# Compiler: gcc # Compiler: gcc
# Language: cpp14 # Language: cpp14
test-debug-gcc-cpp14: test-debug-gcc-cpp14-qt5.15.1:
stage: test stage: test
script: "CI/ci-linux-test.sh gcc cpp14 debug" script: "CI/ci-linux-test.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
dependencies: [build-debug-gcc-cpp14] - Linux
needs: [build-debug-gcc-cpp14] - stretch
- MultiThreads
variables:
COMPILER: "gcc"
LANGUAGE: "cpp14"
BUILD_TYPE: "debug"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
dependencies: [build-debug-gcc-cpp14-qt5.15.1]
needs: [build-debug-gcc-cpp14-qt5.15.1]
artifacts: artifacts:
reports: reports:
junit: junit:
- build-gcc-cpp14-debug-Vector-Checks/Unittests/report.xml - build-gcc-cpp14-qt5.15.1-debug-vectorchecks/Unittests/report.xml
- build-gcc-cpp14-debug-Vector-Checks/Unittests/report-customvec.xml - build-gcc-cpp14-qt5.15.1-debug-vectorchecks/Unittests/report-customvec.xml
- build-gcc-cpp14-debug-Vector-Checks/Unittests/report-doublevec.xml - build-gcc-cpp14-qt5.15.1-debug-vectorchecks/Unittests/report-doublevec.xml
#----------- Job Informations: #----------- Job Informations:
@@ -217,15 +317,25 @@ test-debug-gcc-cpp14:
# OS: Linux # OS: Linux
# Compiler: gcc # Compiler: gcc
# Language: cpp14 # Language: cpp14
# QT Version: qt5.15.1
build-release-gcc-cpp14: build-release-gcc-cpp14-qt5.15.1:
stage: build stage: build
script: "CI/ci-linux-build.sh gcc cpp14 release" script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
- Linux
- stretch
variables:
COMPILER: "gcc"
LANGUAGE: "cpp14"
BUILD_TYPE: "release"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
artifacts: artifacts:
paths: paths:
- build-gcc-cpp14-release-Vector-Checks/ - build-gcc-cpp14-qt5.15.1-release-vectorchecks/
#----------- Job Informations: #----------- Job Informations:
# Type: Test: release # Type: Test: release
@@ -233,19 +343,29 @@ build-release-gcc-cpp14:
# Compiler: gcc # Compiler: gcc
# Language: cpp14 # Language: cpp14
test-release-gcc-cpp14: test-release-gcc-cpp14-qt5.15.1:
stage: test stage: test
script: "CI/ci-linux-test.sh gcc cpp14 release" script: "CI/ci-linux-test.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
dependencies: [build-release-gcc-cpp14] - Linux
needs: [build-release-gcc-cpp14] - stretch
- MultiThreads
variables:
COMPILER: "gcc"
LANGUAGE: "cpp14"
BUILD_TYPE: "release"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
dependencies: [build-release-gcc-cpp14-qt5.15.1]
needs: [build-release-gcc-cpp14-qt5.15.1]
artifacts: artifacts:
reports: reports:
junit: junit:
- build-gcc-cpp14-release-Vector-Checks/Unittests/report.xml - build-gcc-cpp14-qt5.15.1-release-vectorchecks/Unittests/report.xml
- build-gcc-cpp14-release-Vector-Checks/Unittests/report-customvec.xml - build-gcc-cpp14-qt5.15.1-release-vectorchecks/Unittests/report-customvec.xml
- build-gcc-cpp14-release-Vector-Checks/Unittests/report-doublevec.xml - build-gcc-cpp14-qt5.15.1-release-vectorchecks/Unittests/report-doublevec.xml
#----------- Job Informations: #----------- Job Informations:
@@ -253,15 +373,25 @@ test-release-gcc-cpp14:
# OS: Linux # OS: Linux
# Compiler: clang # Compiler: clang
# Language: cpp14 # Language: cpp14
# QT Version: qt5.15.1
build-debug-clang-cpp14: build-debug-clang-cpp14-qt5.15.1:
stage: build stage: build
script: "CI/ci-linux-build.sh clang cpp14 debug" script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
- Linux
- stretch
variables:
COMPILER: "clang"
LANGUAGE: "cpp14"
BUILD_TYPE: "debug"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
artifacts: artifacts:
paths: paths:
- build-clang-cpp14-debug-Vector-Checks/ - build-clang-cpp14-qt5.15.1-debug-vectorchecks/
#----------- Job Informations: #----------- Job Informations:
# Type: Test: debug # Type: Test: debug
@@ -269,19 +399,86 @@ build-debug-clang-cpp14:
# Compiler: clang # Compiler: clang
# Language: cpp14 # Language: cpp14
test-debug-clang-cpp14: test-debug-clang-cpp14-qt5.15.1:
stage: test stage: test
script: "CI/ci-linux-test.sh clang cpp14 debug" script: "CI/ci-linux-test.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
dependencies: [build-debug-clang-cpp14] - Linux
needs: [build-debug-clang-cpp14] - stretch
- MultiThreads
variables:
COMPILER: "clang"
LANGUAGE: "cpp14"
BUILD_TYPE: "debug"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
dependencies: [build-debug-clang-cpp14-qt5.15.1]
needs: [build-debug-clang-cpp14-qt5.15.1]
artifacts: artifacts:
reports: reports:
junit: junit:
- build-clang-cpp14-debug-Vector-Checks/Unittests/report.xml - build-clang-cpp14-qt5.15.1-debug-vectorchecks/Unittests/report.xml
- build-clang-cpp14-debug-Vector-Checks/Unittests/report-customvec.xml - build-clang-cpp14-qt5.15.1-debug-vectorchecks/Unittests/report-customvec.xml
- build-clang-cpp14-debug-Vector-Checks/Unittests/report-doublevec.xml - build-clang-cpp14-qt5.15.1-debug-vectorchecks/Unittests/report-doublevec.xml
#----------- Job Informations:
# Type: Build: release
# OS: Linux
# Compiler: clang
# Language: cpp14
# QT Version: qt5.15.1
build-release-clang-cpp14-qt5.15.1:
stage: build
script: "CI/ci-linux-build.sh"
#image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags:
- Linux
- stretch
variables:
COMPILER: "clang"
LANGUAGE: "cpp14"
BUILD_TYPE: "release"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
artifacts:
paths:
- build-clang-cpp14-qt5.15.1-release-vectorchecks/
#----------- Job Informations:
# Type: Test: release
# OS: Linux
# Compiler: clang
# Language: cpp14
test-release-clang-cpp14-qt5.15.1:
stage: test
script: "CI/ci-linux-test.sh"
#image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags:
- Linux
- stretch
- MultiThreads
variables:
COMPILER: "clang"
LANGUAGE: "cpp14"
BUILD_TYPE: "release"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "yes"
dependencies: [build-release-clang-cpp14-qt5.15.1]
needs: [build-release-clang-cpp14-qt5.15.1]
artifacts:
reports:
junit:
- build-clang-cpp14-qt5.15.1-release-vectorchecks/Unittests/report.xml
- build-clang-cpp14-qt5.15.1-release-vectorchecks/Unittests/report-customvec.xml
- build-clang-cpp14-qt5.15.1-release-vectorchecks/Unittests/report-doublevec.xml
#----------- Job Informations: #----------- Job Informations:
@@ -290,36 +487,47 @@ test-debug-clang-cpp14:
# Compiler: clang # Compiler: clang
# Language: cpp14 # Language: cpp14
build-release-clang-cpp14: iwyu-release-clang-cpp14-qt5.15.1:
stage: build stage: build
script: "CI/ci-linux-build.sh clang cpp14 release" script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
- Linux
- stretch
variables:
COMPILER: "clang"
LANGUAGE: "cpp14"
BUILD_TYPE: "release"
QTVERSION: "qt5.15.1"
IWYU: "yes"
VECTORCHECKS: "yes"
artifacts: artifacts:
paths: paths:
- build-clang-cpp14-release-Vector-Checks/ - build-clang-cpp14-qt5.15.1-release-iwyu-vectorchecks/compile_commands.json
- build-clang-cpp14-qt5.15.1-release-iwyu-vectorchecks/iwyu.dump
#----------- Job Informations: #----------- Job Informations:
# Type: Test: release # Type: Build: release
# OS: Linux # OS: Linux
# Compiler: clang # Compiler: clang
# Language: cpp14 # Language: cpp14
test-release-clang-cpp14: nvc-release-clang-cpp14-qt5.15.1:
stage: test stage: build
script: "CI/ci-linux-test.sh clang cpp14 release" script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
dependencies: [build-release-clang-cpp14] - Linux
needs: [build-release-clang-cpp14] - stretch
variables:
COMPILER: "clang"
LANGUAGE: "cpp14"
BUILD_TYPE: "release"
QTVERSION: "qt5.15.1"
IWYU: "no"
VECTORCHECKS: "no"
artifacts: artifacts:
reports: paths:
junit: - build-clang-cpp14-qt5.15.1-release/
- build-clang-cpp14-release-Vector-Checks/Unittests/report.xml
- build-clang-cpp14-release-Vector-Checks/Unittests/report-customvec.xml
- build-clang-cpp14-release-Vector-Checks/Unittests/report-doublevec.xml
# ----------------- # -----------------
# MAC tasks # MAC tasks
@@ -412,6 +620,63 @@ macos-cpp14-release:
# Windows tasks # Windows tasks
# ----------------- # -----------------
#------------- Job Informations:
# Type: Build+Test: Release
# OS: Windows
# Architecture: x64
# Shared: TRUE
# VS Version: VS2019
# Apps: {{APPS}}
build-VS2019-x64-shared-TRUE-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2019"
ARCHITECTURE: "x64"
SHARED: "TRUE"
APPS: "ON"
script: "CI\\Windows.bat"
tags:
- VS2019
- Qt5150
artifacts:
paths:
- build-release/*.exe
reports:
junit:
- build-release/unittests/report.xml
- build-release/unittests/report-customvec.xml
- build-release/unittests/report-doublevec.xml
#------------- Job Informations:
# Type: Build+Test: Release
# OS: Windows
# Architecture: x64
# Shared: FALSE
# VS Version: VS2019
# Apps: {{APPS}}
build-VS2019-x64-shared-FALSE-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2019"
ARCHITECTURE: "x64"
SHARED: "FALSE"
APPS: "ON"
script: "CI\\Windows.bat"
tags:
- VS2019
- Qt5150
artifacts:
paths:
- build-release/*.exe
reports:
junit:
- build-release/unittests/report.xml
- build-release/unittests/report-customvec.xml
- build-release/unittests/report-doublevec.xml
#------------- Job Informations: #------------- Job Informations:
# Type: Build+Test: Release # Type: Build+Test: Release
# OS: Windows # OS: Windows
@@ -440,25 +705,6 @@ build-VS2017-x64-shared-TRUE-apps:
- build-release/unittests/report-customvec.xml - build-release/unittests/report-customvec.xml
- build-release/unittests/report-doublevec.xml - build-release/unittests/report-doublevec.xml
build-VS2017-x64-shared-TRUE-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2017"
ARCHITECTURE: "x64"
SHARED: "TRUE"
APPS: "OFF"
script: "CI\\Windows.bat"
tags:
- VS2017
artifacts:
paths:
- build-release/*.exe
reports:
junit:
- build-release/unittests/report.xml
- build-release/unittests/report-customvec.xml
- build-release/unittests/report-doublevec.xml
#------------- Job Informations: #------------- Job Informations:
# Type: Build+Test: Release # Type: Build+Test: Release
# OS: Windows # OS: Windows
@@ -487,25 +733,6 @@ build-VS2017-x64-shared-FALSE-apps:
- build-release/unittests/report-customvec.xml - build-release/unittests/report-customvec.xml
- build-release/unittests/report-doublevec.xml - build-release/unittests/report-doublevec.xml
build-VS2017-x64-shared-FALSE-no-apps:
stage: build
variables:
BUILD_PLATFORM: "VS2017"
ARCHITECTURE: "x64"
SHARED: "FALSE"
APPS: "OFF"
script: "CI\\Windows.bat"
tags:
- VS2017
artifacts:
paths:
- build-release/*.exe
reports:
junit:
- build-release/unittests/report.xml
- build-release/unittests/report-customvec.xml
- build-release/unittests/report-doublevec.xml
#------------- Job Informations: #------------- Job Informations:
# Type: Build+Test: Release # Type: Build+Test: Release
@@ -625,4 +852,9 @@ Sources:
- OpenMesh*.tar.bz2 - OpenMesh*.tar.bz2
- OpenMesh*.tar.gz - OpenMesh*.tar.gz
trigger_openmesh-python-rebuild:
stage: deploy
script:
- "curl -X POST -F token=b63ed804ada51d7d1ffe5d6ea0dfa2 -F ref=track-OM-master https://www.graphics.rwth-aachen.de:9000/api/v4/projects/1024/trigger/pipeline"

View File

@@ -49,6 +49,19 @@ IF "%BUILD_PLATFORM%" == "VS2017" (
) )
IF "%BUILD_PLATFORM%" == "VS2019" (
set LIBPATH=E:\libs\VS2019
set GTESTVERSION=gtest-1.10.0
set GENERATOR=Visual Studio 16 2019
set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.com"
IF "%ARCHITECTURE%" == "x64" (
set QT_INSTALL_PATH=E:\Qt\5.15.2\msvc2019_64
set QT_BASE_CONFIG=-DQT5_INSTALL_PATH=E:\Qt\5.15.2\msvc2019_64
)
)
IF "%APPS%" == "ON" ( IF "%APPS%" == "ON" (
set STRING_APPS= set STRING_APPS=
@@ -107,7 +120,7 @@ IF EXIST %QT_INSTALL_PATH%\ (
) )
"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_ROOT="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DBUILD_APPS=%APPS% -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_WINDOWS_LIBS_DIR="e:\libs" -DEigen3_DIR="e:\libs\general\Eigen3.3.9\share\eigen3\cmake" -DOPENMESH_BUILD_SHARED=%SHARED% %CMAKE_CONFIGURATION% .. "C:\Program Files\CMake\bin\cmake.exe" -DGTEST_ROOT="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DBUILD_APPS=%APPS% -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_WINDOWS_LIBS_DIR="e:\libs" -DOPENMESH_BUILD_SHARED=%SHARED% %CMAKE_CONFIGURATION% ..
%VS_PATH% /Build "Release" OpenMesh.sln /Project "ALL_BUILD" %VS_PATH% /Build "Release" OpenMesh.sln /Project "ALL_BUILD"
@@ -129,7 +142,7 @@ mkdir build-debug
cd build-debug cd build-debug
"C:\Program Files\CMake\bin\cmake.exe" -DGTEST_ROOT="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DEigen3_DIR="e:\libs\general\Eigen3.3.9\share\eigen3\cmake" -DCMAKE_BUILD_TYPE=Debug -DOPENMESH_BUILD_SHARED=%SHARED% -DBUILD_APPS=%APPS% %CMAKE_CONFIGURATION% .. "C:\Program Files\CMake\bin\cmake.exe" -DGTEST_ROOT="%LIBPATH%\%ARCHITECTURE%\%GTESTVERSION%" -G "%GENERATOR%" -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DCMAKE_BUILD_TYPE=Debug -DOPENMESH_BUILD_SHARED=%SHARED% -DBUILD_APPS=%APPS% %CMAKE_CONFIGURATION% ..
%VS_PATH% /Build "Debug" OpenMesh.sln /Project "ALL_BUILD" %VS_PATH% /Build "Debug" OpenMesh.sln /Project "ALL_BUILD"

View File

@@ -1,4 +1,6 @@
#!/bin/bash #!/bin/bash
set -e
set -o pipefail
source CI/ci-linux-prepare.sh source CI/ci-linux-prepare.sh
echo -e "${OUTPUT}" echo -e "${OUTPUT}"
@@ -16,22 +18,58 @@ echo "BuildPath: $BUILDPATH"
echo "Path: $PATH" echo "Path: $PATH"
echo "Language: $LANGUAGE" echo "Language: $LANGUAGE"
if [ "$VECTORCHECKS" == "yes" ]; then
echo -e "${OUTPUT}" echo -e "${OUTPUT}"
echo "" echo ""
echo "======================================================================" echo "======================================================================"
echo "Building $BUILD_TYPE version with vectorchecks enabled" echo "Building $BUILD_TYPE version with vectorchecks enabled"
echo "======================================================================" echo "======================================================================"
echo -e "${NC}" echo -e "${NC}"
if [ ! -d build-$BUILDPATH-Vector-Checks ]; then
mkdir build-$BUILDPATH-Vector-Checks
fi fi
cd build-$BUILDPATH-Vector-Checks if [ ! -d build-$BUILDPATH ]; then
mkdir build-$BUILDPATH
fi
cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DOPENMESH_BUILD_UNIT_TESTS=TRUE -DSTL_VECTOR_CHECKS=ON $OPTIONS ../ cd build-$BUILDPATH
cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DOPENMESH_BUILD_UNIT_TESTS=TRUE $OPTIONS ../
if [ "$IWYU" == "yes" ]; then
# do iwyu check
if echo $(iwyu --version) | grep -q "0.11"
then
# support older tool version
iwyu_tool -j 4 -p . -- \
--mapping_file=/usr/share/include-what-you-use/gcc.libc.imp \
--mapping_file=/usr/share/include-what-you-use/clang-6.intrinsics.imp \
| tee iwyu.dump
else
# current tool version
iwyu_tool -j 4 -p . -- \
-Xiwyu --mapping_file=/usr/share/include-what-you-use/gcc.libc.imp \
-Xiwyu --mapping_file=/usr/share/include-what-you-use/clang-6.intrinsics.imp \
| tee iwyu.dump
fi
else
# build it # build it
make $MAKE_OPTIONS make $MAKE_OPTIONS
# build unittests
make $MAKE_OPTIONS unittests
# Creating System Library folder to contain all dependend libraries to run OpenFlipper
if [ ! -d systemlib ]; then
echo "Creating systemlib folder"
mkdir systemlib
fi
echo "Copying all required libraries of OpenMesh to the systemlib directory"
if [ "$BUILD_TYPE" == "release" ]; then
ldd Build/lib/libOpenMeshCore.so.9.0 | grep "=> /" | awk '{print $3}' | xargs -I '{}' cp -v '{}' systemlib
else
ldd Build/lib/libOpenMeshCored.so.9.0 | grep "=> /" | awk '{print $3}' | xargs -I '{}' cp -v '{}' systemlib
fi
fi
cd .. cd ..

View File

@@ -1,9 +1,5 @@
#!/bin/bash #!/bin/bash
COMPILER=$1
LANGUAGE=$2
BUILD_TYPE=$3
# Exit script on any error # Exit script on any error
set -e set -e
@@ -19,7 +15,7 @@ if [ "$COMPILER" == "gcc" ]; then
BUILDPATH="gcc" BUILDPATH="gcc"
# without icecc: no options required # without icecc: no options required
OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc" OPTIONS="$OPTIONS -DCMAKE_CXX_COMPILER=/usr/lib/icecc/bin/g++ -DCMAKE_C_COMPILER=/usr/lib/icecc/bin/gcc"
MAKE_OPTIONS="-j16" MAKE_OPTIONS="-j16"
export ICECC_CXX=/usr/bin/g++ ; export ICECC_CC=/usr/bin/gcc export ICECC_CXX=/usr/bin/g++ ; export ICECC_CC=/usr/bin/gcc
@@ -43,6 +39,32 @@ elif [ "$LANGUAGE" == "cpp14" ]; then
BUILDPATH="$BUILDPATH-cpp14" BUILDPATH="$BUILDPATH-cpp14"
fi fi
if [ "$QTVERSION" == "qt5.13.0" ]; then
echo "Using QT5.13.0";
BUILDPATH="$BUILDPATH-qt5.13.0"
OPTIONS="$OPTIONS -DQT5_INSTALL_PATH=~/sw/Qt/5.13.0/gcc_64"
elif [ "$QTVERSION" == "qt5.12.2" ]; then
echo "Using QT5.12.2";
BUILDPATH="$BUILDPATH-qt5.12.2"
OPTIONS="$OPTIONS -DQT5_INSTALL_PATH=~/sw/Qt/5.12.2/gcc_64"
elif [ "$QTVERSION" == "qt5.11.2" ]; then
echo "Using QT5.11.2";
BUILDPATH="$BUILDPATH-qt5.11.2"
OPTIONS="$OPTIONS -DQT5_INSTALL_PATH=~/sw/Qt/5.11.2/gcc_64"
elif [ "$QTVERSION" == "qt5.9.0" ]; then
echo "Using QT5.9.0";
BUILDPATH="$BUILDPATH-qt5.9.0"
OPTIONS="$OPTIONS -DQT5_INSTALL_PATH=~/sw/Qt/5.9/gcc_64"
elif [ "$QTVERSION" == "qt5.13.2" ]; then
echo "Using QT5.13.2";
BUILDPATH="$BUILDPATH-qt5.13.2"
OPTIONS="$OPTIONS -DQT5_INSTALL_PATH=~/sw/Qt/5.13.2/gcc_64"
elif [ "$QTVERSION" == "qt5.15.1" ]; then
echo "Using QT5.15.1";
BUILDPATH="$BUILDPATH-qt5.15.1"
OPTIONS="$OPTIONS -DQT5_INSTALL_PATH=~/sw/Qt/5.15.1/gcc_64"
fi
#===================================== #=====================================
# Color Settings: # Color Settings:
#===================================== #=====================================
@@ -57,3 +79,17 @@ else
export BUILD_TYPE=debug export BUILD_TYPE=debug
BUILDPATH="$BUILDPATH-debug" BUILDPATH="$BUILDPATH-debug"
fi fi
if [ "$IWYU" == "yes" ]; then
echo "Include what you use enabled.";
BUILDPATH="$BUILDPATH-iwyu"
OPTIONS="$OPTIONS -DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
fi
if [ "$VECTORCHECKS" == "yes" ]; then
echo "Vectorchecks enabled.";
BUILDPATH="$BUILDPATH-vectorchecks"
OPTIONS="$OPTIONS -DSTL_VECTOR_CHECKS=ON"
fi
echo "Building to directory $BUILDPATH"

View File

@@ -23,14 +23,33 @@ echo "Building $BUILD_TYPE version unittests"
echo "======================================================================" echo "======================================================================"
echo -e "${NC}" echo -e "${NC}"
if [ ! -d build-$BUILDPATH-Vector-Checks ]; then if [ ! -d build-$BUILDPATH ]; then
mkdir build-$BUILDPATH-Vector-Checks mkdir build-$BUILDPATH
fi fi
cd build-$BUILDPATH-Vector-Checks cd build-$BUILDPATH
#build the unit tests #clean old cmake cache as the path might have changed
make $MAKE_OPTIONS unittests find . -name "CMakeCache.txt" -type f -delete
#just to be safe clean the test file definitions too
if [ -f CTestTestfile.cmake ]
then
echo "Removing old CTestTestfile.cmake"
rm CTestTestfile.cmake
fi
#just to be safe clean the test file definitions too
if [ -f DartConfiguration.tcl ]
then
echo "Removing old DartConfiguration.tcl"
rm DartConfiguration.tcl
fi
# Run cmake to make sure the tests are configured correctly for this system
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
export LD_LIBRARY_PATH=$(pwd)/Build/systemlib:$LD_LIBRARY_PATH
echo -e "${OUTPUT}" echo -e "${OUTPUT}"
echo "" echo ""

View File

@@ -35,3 +35,8 @@ Sources:
- OpenMesh*.tar.bz2 - OpenMesh*.tar.bz2
- OpenMesh*.tar.gz - OpenMesh*.tar.gz
trigger_openmesh-python-rebuild:
stage: deploy
script:
- "curl -X POST -F token=b63ed804ada51d7d1ffe5d6ea0dfa2 -F ref=track-OM-master https://www.graphics.rwth-aachen.de:9000/api/v4/projects/1024/trigger/pipeline"

View File

@@ -0,0 +1,24 @@
#----------- Job Informations:
# Type: Build: {{BUILDTYPE}}
# OS: Linux
# Compiler: {{COMPILER}}
# Language: {{LANGUAGE}}
iwyu-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}:
stage: build
script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags:
- Linux
- stretch
variables:
COMPILER: "{{COMPILER}}"
LANGUAGE: "{{LANGUAGE}}"
BUILD_TYPE: "{{BUILDTYPE}}"
QTVERSION: "{{QT_VERSION}}"
IWYU: "yes"
VECTORCHECKS: "yes"
artifacts:
paths:
- build-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}-{{BUILDTYPE}}-iwyu-vectorchecks/compile_commands.json
- build-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}-{{BUILDTYPE}}-iwyu-vectorchecks/iwyu.dump

View File

@@ -0,0 +1,23 @@
#----------- Job Informations:
# Type: Build: {{BUILDTYPE}}
# OS: Linux
# Compiler: {{COMPILER}}
# Language: {{LANGUAGE}}
nvc-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}:
stage: build
script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags:
- Linux
- stretch
variables:
COMPILER: "{{COMPILER}}"
LANGUAGE: "{{LANGUAGE}}"
BUILD_TYPE: "{{BUILDTYPE}}"
QTVERSION: "{{QT_VERSION}}"
IWYU: "no"
VECTORCHECKS: "no"
artifacts:
paths:
- build-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}-{{BUILDTYPE}}/

View File

@@ -3,12 +3,22 @@
# OS: Linux # OS: Linux
# Compiler: {{COMPILER}} # Compiler: {{COMPILER}}
# Language: {{LANGUAGE}} # Language: {{LANGUAGE}}
# QT Version: {{QT_VERSION}}
build-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}: build-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}:
stage: build stage: build
script: "CI/ci-linux-build.sh {{COMPILER}} {{LANGUAGE}} {{BUILDTYPE}}" script: "CI/ci-linux-build.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
- Linux
- stretch
variables:
COMPILER: "{{COMPILER}}"
LANGUAGE: "{{LANGUAGE}}"
BUILD_TYPE: "{{BUILDTYPE}}"
QTVERSION: "{{QT_VERSION}}"
IWYU: "no"
VECTORCHECKS: "yes"
artifacts: artifacts:
paths: paths:
- build-{{COMPILER}}-{{LANGUAGE}}-{{BUILDTYPE}}-Vector-Checks/ - build-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}-{{BUILDTYPE}}-vectorchecks/

View File

@@ -4,17 +4,27 @@
# Compiler: {{COMPILER}} # Compiler: {{COMPILER}}
# Language: {{LANGUAGE}} # Language: {{LANGUAGE}}
test-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}: test-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}:
stage: test stage: test
script: "CI/ci-linux-test.sh {{COMPILER}} {{LANGUAGE}} {{BUILDTYPE}}" script: "CI/ci-linux-test.sh"
image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container #image: graphics.rwth-aachen.de:4567/docker/docker/docker-openmesh-container
tags: [Docker] tags:
dependencies: [build-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}] - Linux
needs: [build-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}] - stretch
- MultiThreads
variables:
COMPILER: "{{COMPILER}}"
LANGUAGE: "{{LANGUAGE}}"
BUILD_TYPE: "{{BUILDTYPE}}"
QTVERSION: "{{QT_VERSION}}"
IWYU: "no"
VECTORCHECKS: "yes"
dependencies: [build-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}]
needs: [build-{{BUILDTYPE}}-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}]
artifacts: artifacts:
reports: reports:
junit: junit:
- build-{{COMPILER}}-{{LANGUAGE}}-{{BUILDTYPE}}-Vector-Checks/Unittests/report.xml - build-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}-{{BUILDTYPE}}-vectorchecks/Unittests/report.xml
- build-{{COMPILER}}-{{LANGUAGE}}-{{BUILDTYPE}}-Vector-Checks/Unittests/report-customvec.xml - build-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}-{{BUILDTYPE}}-vectorchecks/Unittests/report-customvec.xml
- build-{{COMPILER}}-{{LANGUAGE}}-{{BUILDTYPE}}-Vector-Checks/Unittests/report-doublevec.xml - build-{{COMPILER}}-{{LANGUAGE}}-{{QT_VERSION}}-{{BUILDTYPE}}-vectorchecks/Unittests/report-doublevec.xml

View File

@@ -12,7 +12,10 @@ cppcheck:
paths: paths:
- cppcheck.log - cppcheck.log
{linux-template-job.yml, COMPILER=gcc, LANGUAGE=cpp11} {linux-template-job.yml, COMPILER=gcc, LANGUAGE=cpp11, QT_VERSION=qt5.15.1}
{linux-template-job.yml, COMPILER=clang, LANGUAGE=cpp11} {linux-template-job.yml, COMPILER=clang, LANGUAGE=cpp11, QT_VERSION=qt5.15.1}
{linux-template-job.yml, COMPILER=gcc, LANGUAGE=cpp14} {linux-template-job.yml, COMPILER=gcc, LANGUAGE=cpp14, QT_VERSION=qt5.15.1}
{linux-template-job.yml, COMPILER=clang, LANGUAGE=cpp14} {linux-template-job.yml, COMPILER=clang, LANGUAGE=cpp14, QT_VERSION=qt5.15.1}
{linux-iwyu-job.yml, BUILDTYPE=release, COMPILER=clang, LANGUAGE=cpp14, QT_VERSION=qt5.15.1}
{linux-novchecks-job.yml, BUILDTYPE=release, COMPILER=clang, LANGUAGE=cpp14, QT_VERSION=qt5.15.1}

View File

@@ -0,0 +1,28 @@
#------------- Job Informations:
# Type: Build+Test: Release
# OS: Windows
# Architecture: {{ARCHITECTURE}}
# Shared: {{SHARED}}
# VS Version: {{VSVERSION}}
# Apps: {{APPS}}
build-{{VSVERSION}}-{{ARCHITECTURE}}-shared-{{SHARED}}-apps:
stage: build
variables:
BUILD_PLATFORM: "{{VSVERSION}}"
ARCHITECTURE: "{{ARCHITECTURE}}"
SHARED: "{{SHARED}}"
APPS: "ON"
script: "CI\\Windows.bat"
tags:
- {{VSVERSION}}
- {{QTTAG}}
artifacts:
paths:
- build-release/*.exe
reports:
junit:
- build-release/unittests/report.xml
- build-release/unittests/report-customvec.xml
- build-release/unittests/report-doublevec.xml

View File

@@ -0,0 +1,27 @@
#------------- Job Informations:
# Type: Build+Test: Release
# OS: Windows
# Architecture: {{ARCHITECTURE}}
# Shared: {{SHARED}}
# VS Version: {{VSVERSION}}
# Apps: {{APPS}}
build-{{VSVERSION}}-{{ARCHITECTURE}}-shared-{{SHARED}}-no-apps:
stage: build
variables:
BUILD_PLATFORM: "{{VSVERSION}}"
ARCHITECTURE: "{{ARCHITECTURE}}"
SHARED: "{{SHARED}}"
APPS: "OFF"
script: "CI\\Windows.bat"
tags:
- {{VSVERSION}}
artifacts:
paths:
- build-release/*.exe
reports:
junit:
- build-release/unittests/report.xml
- build-release/unittests/report-customvec.xml
- build-release/unittests/report-doublevec.xml

View File

@@ -2,8 +2,11 @@
# Windows tasks # Windows tasks
# ----------------- # -----------------
{windows-template-job.yml, ARCHITECTURE=x64, SHARED=TRUE, VSVERSION=VS2017, QTTAG=Qt5101} {windows-template-job-apps.yml, ARCHITECTURE=x64, SHARED=TRUE, VSVERSION=VS2019, QTTAG=Qt5150}
{windows-template-job.yml, ARCHITECTURE=x64, SHARED=FALSE, VSVERSION=VS2017, QTTAG=Qt5101} {windows-template-job-apps.yml, ARCHITECTURE=x64, SHARED=FALSE, VSVERSION=VS2019, QTTAG=Qt5150}
{windows-template-job-apps.yml, ARCHITECTURE=x64, SHARED=TRUE, VSVERSION=VS2017, QTTAG=Qt5101}
{windows-template-job-apps.yml, ARCHITECTURE=x64, SHARED=FALSE, VSVERSION=VS2017, QTTAG=Qt5101}
{windows-template-job.yml, ARCHITECTURE=x64, SHARED=TRUE, VSVERSION=VS2015, QTTAG=Qt5101} {windows-template-job.yml, ARCHITECTURE=x64, SHARED=TRUE, VSVERSION=VS2015, QTTAG=Qt5101}
{windows-template-job.yml, ARCHITECTURE=x64, SHARED=FALSE, VSVERSION=VS2015, QTTAG=Qt5101} {windows-template-job.yml, ARCHITECTURE=x64, SHARED=FALSE, VSVERSION=VS2015, QTTAG=Qt5101}

View File

@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) cmake_minimum_required(VERSION 3.3.0 FATAL_ERROR)
# Set and enforce C++-11 flags # Set and enforce C++-11 flags
@@ -7,10 +7,10 @@ set( CMAKE_CXX_STANDARD 11 )
enable_testing() enable_testing()
# Only set project name if OpenMesh is built as stand-alone library
if("${PROJECT_NAME}" STREQUAL "") project (OpenMesh
project (OpenMesh) VERSION 9.0.0
endif() LANGUAGES C CXX )
# Set AUTO UIC/MOC Policy to new for CMAKE 3.17 or higher # Set AUTO UIC/MOC Policy to new for CMAKE 3.17 or higher
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17") if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17")
@@ -43,11 +43,8 @@ set (CMAKE_DEBUG_POSTFIX "d")
# include our cmake files # include our cmake files
include (VCICommon) include (VCICommon)
vci_get_version ()
# Disable package building when built as an external library # Disable package building when built as an external library
if(${PROJECT_NAME} MATCHES "OpenMesh") if(${CMAKE_PROJECT_NAME} MATCHES "OpenMesh")
include(OpenMeshPackage) include(OpenMeshPackage)
endif() endif()
@@ -88,7 +85,7 @@ if ( NOT DEFINED BUILD_APPS )
endif() endif()
# Only call fixbundle, when we are building OpenMesh standalone # Only call fixbundle, when we are building OpenMesh standalone
if( (${PROJECT_NAME} MATCHES "OpenMesh") AND BUILD_APPS ) if( (${CMAKE_PROJECT_NAME} MATCHES "OpenMesh") AND BUILD_APPS )
if (WIN32) if (WIN32)
if ( NOT "${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles" AND BUILD_APPS ) if ( NOT "${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles" AND BUILD_APPS )
@@ -120,7 +117,7 @@ if (OPENMESH_BENCHMARK_DIR)
endif() endif()
# Do not build unit tests when build as external library # Do not build unit tests when build as external library
if(${PROJECT_NAME} MATCHES "OpenMesh") if(${CMAKE_PROJECT_NAME} MATCHES "OpenMesh")
add_subdirectory (src/Unittests) add_subdirectory (src/Unittests)
else() else()
# If built as a dependent project simulate effects of # If built as a dependent project simulate effects of
@@ -152,7 +149,7 @@ endif()
# ======================================================================== # ========================================================================
# Only call fixbundle, when we are building OpenMesh standalone # Only call fixbundle, when we are building OpenMesh standalone
if(${PROJECT_NAME} MATCHES "OpenMesh") if(${CMAKE_PROJECT_NAME} MATCHES "OpenMesh")
if (WIN32 AND BUILD_APPS) if (WIN32 AND BUILD_APPS)
# prepare bundle generation cmake file and add a build target for it # prepare bundle generation cmake file and add a build target for it

View File

@@ -26,11 +26,22 @@
<b>IO</b> <b>IO</b>
<ul> <ul>
<li>STL Reader: Change stl reader behaviour on extension .stl , Don't check for the solid keyword explicitly</li> <li>STL Reader: Change stl reader behaviour on extension .stl , Don't check for the solid keyword explicitly</li>
<li>OM Writer: Removed debug output</li>
</ul>
<b>Tools</b>
<ul>
<li>Subdivider: Fixed crash in ModifiedButterfly subdivider (When vertex with valence > 30 was present)</li>
</ul> </ul>
<b>Build System</b> <b>Build System</b>
<ul> <ul>
<li>Set cmake project info correctly</li>
<li>Dropped 32-bit Windows continuous integration and artifact builds.</li> <li>Dropped 32-bit Windows continuous integration and artifact builds.</li>
<li>Removed the VERSION file and do it via cmakes project call)
<li>Switched to external cmake-library used by all of our projects now</li>
<li>Removed custom Eigen3 finder. Eigen3 has full cmake support. (You can point OpenMesh to eigen via -DEigen3_DIR="c:\<path>" )
<li>Added support for and fixed some issues with VS2019</li>
</ul> </ul>
</tr> </tr>

View File

@@ -1,6 +0,0 @@
VERSION=9.0
MAJOR=9
MINOR=0
PATCH=0
ID=OPENMESH

View File

@@ -10,10 +10,10 @@ set (CPACK_PACKAGE_NAME "OpenMesh")
set (CPACK_PACKAGE_VENDOR "VCI") set (CPACK_PACKAGE_VENDOR "VCI")
# set version # set version
set (CPACK_PACKAGE_VERSION_MAJOR "${OPENMESH_VERSION_MAJOR}") set (CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}")
set (CPACK_PACKAGE_VERSION_MINOR "${OPENMESH_VERSION_MINOR}") set (CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
set (CPACK_PACKAGE_VERSION_PATCH "${OPENMESH_VERSION_PATCH}") set (CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
set (CPACK_PACKAGE_VERSION "${OPENMESH_VERSION}") set (CPACK_PACKAGE_VERSION "${PROJECT_VERSION}")
# addition package info # addition package info
set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenMesh") set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenMesh")

View File

@@ -5,7 +5,7 @@ includedir=${prefix}/include
Name: libOpenMesh Name: libOpenMesh
Description: OpenMesh library Description: OpenMesh library
Version: @OPENMESH_VERSION_MAJOR@.@OPENMESH_VERSION_MINOR@ Version: @PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@
Libs: -L${libdir} @PRIVATE_LIBS@ Libs: -L${libdir} @PRIVATE_LIBS@
Cflags: -I${includedir} Cflags: -I${includedir}

View File

@@ -1,10 +1,11 @@
1. check files, build on windows,mac,linux with cmake (-> Done by CI) 1. check files, build on windows,mac,linux with cmake (-> Done by CI)
2. check files with release numbers: 2. check files with release numbers:
cmake/FindOpenMesh.cmake cmake/FindOpenMesh.cmake
Doc/changelog.docu Doc/changelog.docu
src/OpenMesh/Core/System/config.h src/OpenMesh/Core/System/config.h
README README
VERSION CMakeLists.txt ( version setting in project call)
3. Tag the current version in the git 3. Tag the current version in the git
4. Create HTML-Documentation in OpenMesh/Documentation (!) 4. Create HTML-Documentation in OpenMesh/Documentation (!)
5. Create tar-ball and zip-archive ( -> Done by CI) 5. Create tar-ball and zip-archive ( -> Done by CI)

View File

@@ -7,7 +7,7 @@ endif()
if ( BUILD_APPS ) if ( BUILD_APPS )
# Only build and fixbundle apps, when we are building OpenMesh standalone # Only build and fixbundle apps, when we are building OpenMesh standalone
if(${PROJECT_NAME} MATCHES "OpenMesh") if(${CMAKE_PROJECT_NAME} MATCHES "OpenMesh")
if ( WIN32 AND OPENMESH_BUILD_SHARED ) if ( WIN32 AND OPENMESH_BUILD_SHARED )
add_definitions(-DOPENMESHDLL ) add_definitions(-DOPENMESHDLL )

View File

@@ -25,7 +25,7 @@ vci_append_files (headers "*.hh" ${directories})
vci_append_files (sources "*.cc" ${directories}) vci_append_files (sources "*.cc" ${directories})
# Disable Library installation when not building OpenMesh on its own but as part of another project! # Disable Library installation when not building OpenMesh on its own but as part of another project!
if ( NOT ${PROJECT_NAME} MATCHES "OpenMesh") if ( NOT ${CMAKE_PROJECT_NAME} MATCHES "OpenMesh")
set(VCI_NO_LIBRARY_INSTALL true) set(VCI_NO_LIBRARY_INSTALL true)
endif() endif()
@@ -42,8 +42,8 @@ if (WIN32)
else () else ()
vci_add_library (OpenMeshCore SHAREDANDSTATIC ${sources} ${headers}) vci_add_library (OpenMeshCore SHAREDANDSTATIC ${sources} ${headers})
set_target_properties (OpenMeshCore PROPERTIES VERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} set_target_properties (OpenMeshCore PROPERTIES VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
SOVERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} ) SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
endif () endif ()
if (MSVC) if (MSVC)
@@ -51,7 +51,7 @@ if (MSVC)
endif () endif ()
# Add core as dependency before fixbundle # Add core as dependency before fixbundle
if ( (${PROJECT_NAME} MATCHES "OpenMesh") AND BUILD_APPS ) if ( (${CMAKE_PROJECT_NAME} MATCHES "OpenMesh") AND BUILD_APPS )
if ( WIN32 ) if ( WIN32 )
if ( NOT "${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles" ) if ( NOT "${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles" )
@@ -68,7 +68,7 @@ if ( (${PROJECT_NAME} MATCHES "OpenMesh") AND BUILD_APPS )
endif() endif()
# if we build debug and release in the same dir, we want to install both! # if we build debug and release in the same dir, we want to install both!
if ( ${PROJECT_NAME} MATCHES "OpenMesh") if ( ${CMAKE_PROJECT_NAME} MATCHES "OpenMesh")
if ( WIN32 ) if ( WIN32 )
FILE(GLOB files_install_libs "${CMAKE_BINARY_DIR}/Build/lib/*.lib" ) FILE(GLOB files_install_libs "${CMAKE_BINARY_DIR}/Build/lib/*.lib" )
FILE(GLOB files_install_dlls "${CMAKE_BINARY_DIR}/Build/*.dll" ) FILE(GLOB files_install_dlls "${CMAKE_BINARY_DIR}/Build/*.dll" )
@@ -104,7 +104,13 @@ endif()
# Only install if the project name matches OpenMesh. # Only install if the project name matches OpenMesh.
if (NOT APPLE AND ${PROJECT_NAME} MATCHES "OpenMesh") if (${CMAKE_PROJECT_NAME} MATCHES "OpenMesh")
set (OPENMESH_NO_INSTALL_HEADERS FALSE CACHE BOOL "Should OpenMesh skip installing headers?")
else()
set (OPENMESH_NO_INSTALL_HEADERS TRUE CACHE BOOL "Should OpenMesh skip installing headers?")
endif()
if (NOT APPLE AND NOT ${OPENMESH_NO_INSTALL_HEADERS})
# Install Header Files) # Install Header Files)
install(DIRECTORY . install(DIRECTORY .

View File

@@ -304,6 +304,14 @@ PolyConnectivity::add_face(const VertexHandle* _vertex_handles, size_t _vhs_size
SmartFaceHandle PolyConnectivity::add_face(VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2, VertexHandle _vh3) SmartFaceHandle PolyConnectivity::add_face(VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2, VertexHandle _vh3)
{ {
// Check if we have been given a degenerate configuration (2 vertices are identical)
assert(_vh0!=_vh1);
assert(_vh0!=_vh2);
assert(_vh1!=_vh2);
assert(_vh0!=_vh3);
assert(_vh1!=_vh3);
assert(_vh2!=_vh3);
VertexHandle vhs[4] = { _vh0, _vh1, _vh2, _vh3 }; VertexHandle vhs[4] = { _vh0, _vh1, _vh2, _vh3 };
return add_face(vhs, 4); return add_face(vhs, 4);
} }
@@ -312,6 +320,11 @@ SmartFaceHandle PolyConnectivity::add_face(VertexHandle _vh0, VertexHandle _vh1,
SmartFaceHandle PolyConnectivity::add_face(VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2) SmartFaceHandle PolyConnectivity::add_face(VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2)
{ {
// Check if we have been given a degenerate configuration (2 vertices are identical)
assert(_vh0!=_vh1);
assert(_vh0!=_vh2);
assert(_vh1!=_vh2);
VertexHandle vhs[3] = { _vh0, _vh1, _vh2 }; VertexHandle vhs[3] = { _vh0, _vh1, _vh2 };
return add_face(vhs, 3); return add_face(vhs, 3);
} }

View File

@@ -205,6 +205,10 @@ public:
* \brief Adds a new vertex initialized to a custom position. * \brief Adds a new vertex initialized to a custom position.
* *
* \sa new_vertex(), new_vertex_dirty() * \sa new_vertex(), new_vertex_dirty()
*
* \attention Be careful to not use a reference to a point in the mesh itself here.
* as a resize of the underlying vector might invalidate this reference
* and cause a segfault.
*/ */
inline SmartVertexHandle new_vertex(const Point& _p) inline SmartVertexHandle new_vertex(const Point& _p)
{ {
@@ -231,7 +235,13 @@ public:
return make_smart(vh, this); return make_smart(vh, this);
} }
/// Alias for new_vertex(const Point&). /** Alias for new_vertex(const Point&).
*
* \attention Be careful to not use a reference to a point in the mesh itself here.
* as a resize of the underlying vector might invalidate this reference
* and cause a segfault.
*
*/
inline SmartVertexHandle add_vertex(const Point& _p) inline SmartVertexHandle add_vertex(const Point& _p)
{ return new_vertex(_p); } { return new_vertex(_p); }

View File

@@ -27,7 +27,7 @@ IF(WIN32 AND NOT MINGW)
ENDIF(WIN32 AND NOT MINGW) ENDIF(WIN32 AND NOT MINGW)
# Disable Library installation when not building OpenMesh on its own but as part of another project! # Disable Library installation when not building OpenMesh on its own but as part of another project!
if ( NOT ${PROJECT_NAME} MATCHES "OpenMesh") if ( NOT ${CMAKE_PROJECT_NAME} MATCHES "OpenMesh")
set(VCI_NO_LIBRARY_INSTALL true) set(VCI_NO_LIBRARY_INSTALL true)
endif() endif()
@@ -44,8 +44,8 @@ if (WIN32)
else () else ()
vci_add_library (OpenMeshTools SHAREDANDSTATIC ${sources} ${headers}) vci_add_library (OpenMeshTools SHAREDANDSTATIC ${sources} ${headers})
set_target_properties (OpenMeshTools PROPERTIES VERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} set_target_properties (OpenMeshTools PROPERTIES VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
SOVERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} ) SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
endif () endif ()
target_link_libraries (OpenMeshTools OpenMeshCore) target_link_libraries (OpenMeshTools OpenMeshCore)
@@ -54,7 +54,7 @@ IF( NOT WIN32 )
target_link_libraries (OpenMeshToolsStatic OpenMeshCoreStatic) target_link_libraries (OpenMeshToolsStatic OpenMeshCoreStatic)
ENDIF(NOT WIN32) ENDIF(NOT WIN32)
if ( (${PROJECT_NAME} MATCHES "OpenMesh") AND BUILD_APPS ) if ( (${CMAKE_PROJECT_NAME} MATCHES "OpenMesh") AND BUILD_APPS )
if ( WIN32 ) if ( WIN32 )
if ( NOT "${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles" ) if ( NOT "${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles" )
@@ -97,7 +97,13 @@ endif()
# Only install if the project name matches OpenMesh. # Only install if the project name matches OpenMesh.
if (NOT APPLE AND ${PROJECT_NAME} MATCHES "OpenMesh") if (${CMAKE_PROJECT_NAME} MATCHES "OpenMesh")
set (OPENMESH_NO_INSTALL_HEADERS FALSE CACHE BOOL "Should OpenMesh skip installing headers?")
else()
set (OPENMESH_NO_INSTALL_HEADERS TRUE CACHE BOOL "Should OpenMesh skip installing headers?")
endif()
if (NOT APPLE AND NOT ${OPENMESH_NO_INSTALL_HEADERS})
# Install Header Files # Install Header Files
install(DIRECTORY . install(DIRECTORY .

View File

@@ -179,6 +179,17 @@ protected:
///TODO:Implement fixed positions ///TODO:Implement fixed positions
// Compute the maximal vertex valence in the mesh
unsigned int maxValence = 0;
for ( auto vertex : _m.vertices() ) {
maxValence = std::max(maxValence,_m.valence(vertex));
}
// We pre initialized with 30. If it's larger, we update the weights
if (maxValence >= 30) {
init_weights( maxValence + 1 );
}
// Do _n subdivisions // Do _n subdivisions
for (size_t i=0; i < _n; ++i) for (size_t i=0; i < _n; ++i)
{ {

View File

@@ -34,10 +34,6 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
message(WARNING "Eigen3 not found! This will skip the Eigen3 Unittests. You can point cmake to Eigen3 by setting Eigen3_DIR to the cmake files of Eigen3") message(WARNING "Eigen3 not found! This will skip the Eigen3 Unittests. You can point cmake to Eigen3 by setting Eigen3_DIR to the cmake files of Eigen3")
endif() endif()
if ( CMAKE_GENERATOR MATCHES "^Visual Studio 11.*" )
add_definitions( /D _VARIADIC_MAX=10 )
endif()
# Create new target named unittests_hexmeshing # Create new target named unittests_hexmeshing
FILE(GLOB UNITTEST_SRC *.cc) FILE(GLOB UNITTEST_SRC *.cc)
# Create unittest executable # Create unittest executable

Binary file not shown.

View File

@@ -201,8 +201,12 @@ TEST_F(OpenMeshConvertPolyMeshToTriangle, VertexFaceCheck) {
EXPECT_EQ(4u, p.n_vertices() ) << "Wrong number of vertices in TriMesh"; EXPECT_EQ(4u, p.n_vertices() ) << "Wrong number of vertices in TriMesh";
Mesh::VertexIter it = mesh_.vertices_begin(); Mesh::VertexIter it = mesh_.vertices_begin();
//add face to original mesh //add face to original mesh
mesh_.add_face(vhand,(*it),(*++it)); Mesh::VertexHandle vhand1 = *it;
Mesh::VertexHandle vhand2 = (*++it);
mesh_.add_face(vhand,vhand1,vhand2);
EXPECT_EQ(2u, mesh_.n_faces() ) << "Wrong number of faces in PolyMesh"; EXPECT_EQ(2u, mesh_.n_faces() ) << "Wrong number of faces in PolyMesh";
EXPECT_EQ(2u, p.n_faces() ) << "Wrong number of faces in TriMesh"; EXPECT_EQ(2u, p.n_faces() ) << "Wrong number of faces in TriMesh";

View File

@@ -0,0 +1,65 @@
#include <gtest/gtest.h>
#include <Unittests/unittests_common.hh>
#include <iostream>
namespace {
class OpenMeshDirectSettingProperties : public OpenMeshBase {
protected:
// This function is called before each test is run
virtual void SetUp() {
// Do some initial stuff with the member data here...
}
// This function is called after all tests are through
virtual void TearDown() {
// Do some final stuff with the member data here...
}
// Member already defined in OpenMeshBase
//Mesh mesh_;
};
/*
* ====================================================================
* Define tests below
* ====================================================================
*/
/* Adds two triangles to a tri mesh
*/
TEST_F(OpenMeshDirectSettingProperties, SetVertexPositionsDirectly) {
mesh_.clear();
// Add some vertices
Mesh::VertexHandle vhandle[4];
vhandle[0] = mesh_.add_vertex(Mesh::Point(0, 0, 0));
vhandle[1] = mesh_.add_vertex(Mesh::Point(0, 1, 0));
vhandle[2] = mesh_.add_vertex(Mesh::Point(1, 1, 0));
vhandle[3] = mesh_.add_vertex(Mesh::Point(1, 0, 0));
auto pos_pro = mesh_.points_property_handle();
auto point_vector = mesh_.property(pos_pro).data_vector();
int vertex_count = 0;
for( auto p : point_vector) {
// std::cerr << p[0] << " " << p[1] << " " << p[2] << std::endl;
++vertex_count;
}
EXPECT_EQ(4u, mesh_.n_vertices() ) << "Wrong number of vertices";
EXPECT_EQ(4, vertex_count) << "Wrong number of vertices when counting direct point property vector";
}
}

View File

@@ -1027,6 +1027,28 @@ TEST_F(OpenMeshSubdividerUniform_Triangle, Modified_Butterfly) {
TEST_F(OpenMeshSubdividerUniform_Triangle, Modified_Butterfly_cylinder) {
mesh_.clear();
OpenMesh::IO::read_mesh(mesh_, "cylinder.om");
// Initialize subdivider
OpenMesh::Subdivider::Uniform::ModifiedButterflyT<Mesh> butter;
// Check setup
EXPECT_EQ(66u, mesh_.n_vertices() ) << "Wrong number of vertices";
EXPECT_EQ(128u, mesh_.n_faces() ) << "Wrong number of faces";
// Execute 3 subdivision steps
butter( mesh_,3,true );
// Check setup
EXPECT_EQ(4098u, mesh_.n_vertices() ) << "Wrong number of vertices after subdivision with loop";
EXPECT_EQ(8192u, mesh_.n_faces() ) << "Wrong number of faces after subdivision with loop";
}
TEST_F(OpenMeshSubdividerUniform_Triangle, Modified_Butterfly_delete_vertex) { TEST_F(OpenMeshSubdividerUniform_Triangle, Modified_Butterfly_delete_vertex) {
for (bool collect_garbage : { false, true }) for (bool collect_garbage : { false, true })