gici: require GCC v6

This commit is contained in:
Martin Valgur
2024-03-19 19:09:17 +02:00
parent 2e8378121f
commit 3304b848a8

View File

@ -1,9 +1,11 @@
import os import os
from conan import ConanFile from conan import ConanFile
from conan.errors import ConanInvalidConfiguration
from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.build import check_min_cppstd, valid_min_cppstd
from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm
from conan.tools.scm import Version
required_conan_version = ">=1.53.0" required_conan_version = ">=1.53.0"
@ -33,6 +35,13 @@ class GiciConan(ConanFile):
def _min_cppstd(self): def _min_cppstd(self):
return 11 return 11
@property
def _compilers_minimum_version(self):
return {
# For atomic_uint64_t
"gcc": "6",
}
def export_sources(self): def export_sources(self):
export_conandata_patches(self) export_conandata_patches(self)
copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder)
@ -69,6 +78,11 @@ class GiciConan(ConanFile):
def validate(self): def validate(self):
if self.settings.compiler.cppstd: if self.settings.compiler.cppstd:
check_min_cppstd(self, self._min_cppstd) check_min_cppstd(self, self._min_cppstd)
minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
if minimum_version and Version(self.settings.compiler.version) < minimum_version:
raise ConanInvalidConfiguration(
f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
)
def source(self): def source(self):
get(self, **self.conan_data["sources"][self.version], strip_root=True) get(self, **self.conan_data["sources"][self.version], strip_root=True)