123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- from conans import ConanFile, CMake, tools
- import os
- class LibFlacConan(ConanFile):
- name = "libflac"
- version = "1.3.2"
- license = "BSD-2-Clause"
- author = "Shawn Morford <DarkMorford@Gmail.com>"
- url = "https://code.darkmorford.net/conan-pkg/libflac"
- description = ("FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, "
- "but lossless, meaning that audio is compressed in FLAC without any loss in quality.")
- homepage = "https://xiph.org/flac/"
- topics = ("media", "audio", "lossless", "xiph.org")
- requires = [("libogg/1.3.4@darkmorford/stable", "private")]
- settings = "os", "compiler", "build_type", "arch"
- options = {"shared": [True, False], "fPIC": [True, False]}
- default_options = {"shared": True, "fPIC": True}
- @property
- def subfolder(self):
- return os.path.join(self.source_folder, f"flac-{self.version}")
- def config_options(self):
- if self.settings.os == "Windows":
- self.options.remove("fPIC")
- def configure(self):
- del self.settings.compiler.cppstd
- del self.settings.compiler.libcxx
- def source(self):
- tools.get(**self.conan_data["sources"][self.version])
- def build(self):
- cmake = CMake(self)
- cmake.configure(source_folder="hello")
- cmake.build()
- # Explicit way:
- # self.run('cmake %s/hello %s'
- # % (self.source_folder, cmake.command_line))
- # self.run("cmake --build . %s" % cmake.build_config)
- def package(self):
- self.copy("*.h", dst="include", src="hello")
- self.copy("*hello.lib", dst="lib", keep_path=False)
- self.copy("*.dll", dst="bin", keep_path=False)
- self.copy("*.so", dst="lib", keep_path=False)
- self.copy("*.dylib", dst="lib", keep_path=False)
- self.copy("*.a", dst="lib", keep_path=False)
- def package_info(self):
- self.cpp_info.libs = ["hello"]
|