Struct system_deps::Library [−][src]
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: String
Name of the library
source: Source
From 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: String
library version
statik: bool
library is statically linked
Implementations
pub 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.pc
file is locatedlib
: the name of the library to look forversion
: the minimum version oflib
required
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)
});