Struct system_deps::Library
source · pub struct Library {
pub name: String,
pub source: Source,
pub libs: Vec<InternalLib>,
pub link_paths: Vec<PathBuf>,
pub frameworks: Vec<String>,
pub framework_paths: Vec<PathBuf>,
pub include_paths: Vec<PathBuf>,
pub defines: HashMap<String, Option<String>>,
pub version: String,
pub statik: bool,
}Expand description
A system dependency
Fields§
§name: StringName of the library
source: SourceFrom where the library settings have been retrieved
libs: Vec<InternalLib>libraries the linker should link on
link_paths: Vec<PathBuf>directories where the compiler should look for libraries
frameworks: Vec<String>frameworks the linker should link on
framework_paths: Vec<PathBuf>directories where the compiler should look for frameworks
include_paths: Vec<PathBuf>directories where the compiler should look for header files
defines: HashMap<String, Option<String>>macros that should be defined by the compiler
version: Stringlibrary version
statik: boollibrary is statically linked
Implementations§
source§impl Library
impl Library
sourcepub fn from_internal_pkg_config<P>(
pkg_config_dir: P,
lib: &str,
version: &str
) -> Result<Self, BuildInternalClosureError>where
P: AsRef<Path>,
pub fn from_internal_pkg_config<P>( pkg_config_dir: P, lib: &str, version: &str ) -> Result<Self, BuildInternalClosureError>where P: AsRef<Path>,
Create a Library by probing pkg-config on an internal directory.
This helper is meant to be used by Config::add_build_internal closures
after having built the lib to return the library information to system-deps.
This library will be statically linked.
Arguments
pkg_config_dir: the directory where the library.pcfile is locatedlib: the name of the library to look forversion: the minimum version oflibrequired
Examples
let mut config = system_deps::Config::new();
config.add_build_internal("mylib", |lib, version| {
// Actually build the library here
system_deps::Library::from_internal_pkg_config("build-dir",
lib, version)
});