From 2d968f38d6f5dd36b9392aac8435727b5728096a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20M=C3=B6bius?= Date: Fri, 15 Jan 2021 13:52:58 +0100 Subject: [PATCH 1/4] Give CI a path to Eigen3 --- CI/Windows.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CI/Windows.bat b/CI/Windows.bat index 616dcf27..a31edaaa 100644 --- a/CI/Windows.bat +++ b/CI/Windows.bat @@ -107,7 +107,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" -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" -DEigen3_DIR="e:\libs\general\Eigen3.3.9\share\eigen3\cmake" -DOPENMESH_BUILD_SHARED=%SHARED% %CMAKE_CONFIGURATION% .. %VS_PATH% /Build "Release" OpenMesh.sln /Project "ALL_BUILD" From cfe1ed2fa5b8d222e2decba0f1a0ea3574b16874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20M=C3=B6bius?= Date: Fri, 15 Jan 2021 13:58:48 +0100 Subject: [PATCH 2/4] Add warning if Eigen is not found --- src/Unittests/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Unittests/CMakeLists.txt b/src/Unittests/CMakeLists.txt index b52434e4..22595feb 100644 --- a/src/Unittests/CMakeLists.txt +++ b/src/Unittests/CMakeLists.txt @@ -30,6 +30,8 @@ if ( OPENMESH_BUILD_UNIT_TESTS ) if (TARGET Eigen3::Eigen) add_definitions( -DENABLE_EIGEN3_TEST ) link_libraries(Eigen3::Eigen) + else() + 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() if ( CMAKE_GENERATOR MATCHES "^Visual Studio 11.*" ) From 52b2be6ba862d116924512643ddf27a4cb7f55d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20M=C3=B6bius?= Date: Fri, 15 Jan 2021 14:00:09 +0100 Subject: [PATCH 3/4] Missed one --- CI/Windows.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CI/Windows.bat b/CI/Windows.bat index a31edaaa..acb1e2d2 100644 --- a/CI/Windows.bat +++ b/CI/Windows.bat @@ -129,7 +129,7 @@ mkdir build-debug cd build-debug -"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% .. +"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% .. %VS_PATH% /Build "Debug" OpenMesh.sln /Project "ALL_BUILD" From 2fba57e12357a2e55752591634c2472718d9b6d3 Mon Sep 17 00:00:00 2001 From: Max Lyon Date: Tue, 19 Jan 2021 15:34:41 +0100 Subject: [PATCH 4/4] add method to property manager to set property persistent --- src/OpenMesh/Core/Utils/PropertyManager.hh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/OpenMesh/Core/Utils/PropertyManager.hh b/src/OpenMesh/Core/Utils/PropertyManager.hh index 62d87b76..0f167ff8 100644 --- a/src/OpenMesh/Core/Utils/PropertyManager.hh +++ b/src/OpenMesh/Core/Utils/PropertyManager.hh @@ -593,6 +593,17 @@ class PropertyManager { src.copy_to(src_range, dst, dst_range); } + /** + * Mark whether this property should be stored when mesh is written + * to a file + * + * @param _persistence Property will be stored iff _persistence is true + */ + void set_persistent(bool _persistence = true) + { + mesh().property(getRawProperty()).set_persistent(_persistence); + } + private: void deleteProperty() { if (!retain_ && prop_.is_valid())