Skip to content

Commit

Permalink
(#21929) openmesh: add v10.0
Browse files Browse the repository at this point in the history
* openmesh: add v10.0.0

* openmesh: rename to v10.0

* openmesh: ensure cppstd is set

* openmesh: libc++ requires C++14

* openmesh: add a patch to fix C++11 compatibility
  • Loading branch information
valgur authored Jan 7, 2024
1 parent 06b64f7 commit 1e5b0a4
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 2 deletions.
8 changes: 8 additions & 0 deletions recipes/openmesh/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
sources:
"10.0":
url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/10.0/OpenMesh-10.0.0.tar.bz2"
sha256: "af22520a474bb6a3b355eb0867449c6b995126f97632d1ee5ff9c7ebd322fedb"
"9.0":
url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/9.0/OpenMesh-9.0.tar.gz"
sha256: "b9574c921482798ce75a8bf578345a84b928ca26ee759219d21b310e2db9d006"
"8.1":
url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/8.1/OpenMesh-8.1.tar.gz"
sha256: "0953777f483d47ea9fa00c329838443a7a09dde8be77bf7de188001cb9e768a7"
patches:
"10.0":
- patch_file: "patches/cmake-install_9.0.patch"
- patch_file: "patches/restore-cxx11-compatibility.patch"
patch_description: "Revert a minor change that broke C++11 compatibility for libc++"
patch_type: "portability"
"9.0":
- patch_file: "patches/cmake-install_9.0.patch"
"8.1":
Expand Down
10 changes: 8 additions & 2 deletions recipes/openmesh/all/conanfile.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from conan import ConanFile
from conan.tools.build import check_min_cppstd
from conan.tools.build import check_min_cppstd, valid_min_cppstd
from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout
from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir, save
from conan.tools.microsoft import is_msvc
Expand Down Expand Up @@ -29,6 +29,10 @@ class OpenmeshConan(ConanFile):
"fPIC": True,
}

@property
def _min_cppstd(self):
return 11

def export_sources(self):
export_conandata_patches(self)

Expand All @@ -45,7 +49,7 @@ def layout(self):

def validate(self):
if self.settings.compiler.get_safe("cppstd"):
check_min_cppstd(self, 11)
check_min_cppstd(self, self._min_cppstd)

def source(self):
get(self, **self.conan_data["sources"][self.version], strip_root=True)
Expand All @@ -56,6 +60,8 @@ def generate(self):
tc.variables["OPENMESH_BUILD_SHARED"] = self.options.shared
tc.variables["BUILD_APPS"] = False
tc.variables["OPENMESH_DOCS"] = False
if not valid_min_cppstd(self, self._min_cppstd):
tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd
tc.generate()

def build(self):
Expand Down
17 changes: 17 additions & 0 deletions recipes/openmesh/all/patches/restore-cxx11-compatibility.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Partial revert of https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/commit/998eec1390dcabbb502dc1ac1bc17cd09a16e343
for compatibility with C++11.

https://web.archive.org/web/20151001014443/http://en.cppreference.com/w/cpp/container/vector/emplace_back
"The specialization std::vector<bool> did not have emplace_back() member until C++14."

--- src/OpenMesh/Core/Utils/Property.hh
+++ src/OpenMesh/Core/Utils/Property.hh
@@ -250,7 +250,7 @@
virtual void reserve(size_t _n) override { data_.reserve(_n); }
virtual void resize(size_t _n) override { data_.resize(_n); }
virtual void clear() override { data_.clear(); vector_type().swap(data_); }
- virtual void push_back() override { data_.emplace_back(); }
+ virtual void push_back() override { data_.push_back(bool()); }
virtual void swap(size_t _i0, size_t _i1) override
{ bool t(data_[_i0]); data_[_i0]=data_[_i1]; data_[_i1]=t; }
virtual void copy(size_t _i0, size_t _i1) override
2 changes: 2 additions & 0 deletions recipes/openmesh/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
versions:
"10.0":
folder: all
"9.0":
folder: all
"8.1":
Expand Down

0 comments on commit 1e5b0a4

Please sign in to comment.