build(conan): freestanding support refactored

This commit is contained in:
Mateusz Pusz
2024-06-10 22:06:06 +02:00
parent e90cffcbda
commit bb3b9c4a19

View File

@ -207,11 +207,12 @@ class MPUnitsConan(ConanFile):
self.version = version.strip() self.version = version.strip()
def requirements(self): def requirements(self):
if not self.options.freestanding:
if self.options.contracts == "gsl-lite": if self.options.contracts == "gsl-lite":
self.requires("gsl-lite/0.41.0") self.requires("gsl-lite/0.41.0")
elif self.options.contracts == "ms-gsl": elif self.options.contracts == "ms-gsl":
self.requires("ms-gsl/4.0.0") self.requires("ms-gsl/4.0.0")
if self._use_fmtlib and not self.options.freestanding: if self._use_fmtlib:
self.requires("fmt/10.2.1") self.requires("fmt/10.2.1")
def build_requirements(self): def build_requirements(self):
@ -248,6 +249,9 @@ class MPUnitsConan(ConanFile):
tc.cache_variables["MP_UNITS_BUILD_CXX_MODULES"] = str( tc.cache_variables["MP_UNITS_BUILD_CXX_MODULES"] = str(
self.options.cxx_modules self.options.cxx_modules
).upper() ).upper()
if self.options.freestanding:
tc.cache_variables["MP_UNITS_API_FREESTANDING"] = True
else:
tc.cache_variables["MP_UNITS_API_STD_FORMAT"] = str( tc.cache_variables["MP_UNITS_API_STD_FORMAT"] = str(
self.options.std_format self.options.std_format
).upper() ).upper()
@ -258,7 +262,6 @@ class MPUnitsConan(ConanFile):
tc.cache_variables["MP_UNITS_API_CONTRACTS"] = str( tc.cache_variables["MP_UNITS_API_CONTRACTS"] = str(
self.options.contracts self.options.contracts
).upper() ).upper()
tc.cache_variables["MP_UNITS_API_FREESTANDING"] = self.options.freestanding
tc.generate() tc.generate()
deps = CMakeDeps(self) deps = CMakeDeps(self)
deps.generate() deps.generate()