Files
2024-12-24 15:00:28 +03:00

41 lines
1.6 KiB
Python

from conans import CMake, tools, ConanFile
from conan.tools.build import cross_building
import os
class TestPackageConan(ConanFile):
settings = "os", "compiler", "arch", "build_type"
generators = "cmake", "cmake_find_package", "pkg_config"
def _with_legacy(self):
return (not self.options["openssl"].no_legacy and
((not self.options["openssl"].no_md4) or
(not self.options["openssl"].no_rmd160)))
def build(self):
cmake = CMake(self)
cmake.definitions["OPENSSL_WITH_ZLIB"] = not self.options["openssl"].no_zlib
cmake.definitions["OPENSSL_WITH_LEGACY"] = self._with_legacy()
cmake.definitions["OPENSSL_WITH_MD4"] = not self.options["openssl"].no_md4
cmake.definitions["OPENSSL_WITH_RIPEMD160"] = not self.options["openssl"].no_rmd160
if self.settings.os == "Android":
cmake.definitions["CONAN_LIBCXX"] = ""
cmake.configure()
cmake.build()
def test(self):
if not cross_building(self):
bin_path = os.path.join("bin", "digest")
self.run(bin_path, run_environment=True)
if not self.options["openssl"].no_legacy:
bin_legacy_path = os.path.join("bin", "digest_legacy")
self.run(bin_legacy_path, run_environment=True)
if not self.options["openssl"].no_stdio:
self.run("openssl version", run_environment=True)
assert os.path.exists(os.path.join(self.deps_cpp_info["openssl"].rootpath, "licenses", "LICENSE.txt"))
for fn in ("libcrypto.pc", "libssl.pc", "openssl.pc",):
assert os.path.isfile(os.path.join(self.build_folder, fn))