Struct Config

Source
pub struct Config { /* private fields */ }
Expand description

Configuration of the build script.

Implementations§

Source§

impl Config

Source

pub fn new() -> Result<Self>

Constructs default configuration state based on information in the generated build_script_data.json file located at the crate root. The caller may change CppBuildPaths and CppBuildConfig values stored in this object and call config.run() to apply them.

Source

pub fn set_current_cpp_library_version(&mut self, version: Option<String>)

Source

pub fn known_targets(&self) -> &[LibraryTarget]

Returns version of the native C++ library used for generating this crate. This is the value set with Config::set_cpp_lib_version during generation, or None if the version was not set.

Source

pub fn cpp_build_config(&self) -> &CppBuildConfig

Returns current CppBuildConfig data.

Source

pub fn cpp_build_config_mut(&mut self) -> &mut CppBuildConfig

Returns mutable CppBuildConfig data.

Source

pub fn set_cpp_build_config(&mut self, config: CppBuildConfig)

Sets new CppBuildConfig data.

Source

pub fn cpp_build_paths(&self) -> &CppBuildPaths

Returns current CppBuildPaths data.

Source

pub fn cpp_build_paths_mut(&mut self) -> &mut CppBuildPaths

Returns mutable CppBuildPaths data.

Source

pub fn set_cpp_build_paths(&mut self, config: CppBuildPaths)

Sets new CppBuildPaths data.

Source

pub fn try_run(self) -> Result<()>

Same as run(), but result of the operation is returned to the caller.

Source

pub fn run(self) -> !

Starts build script with current configuration. The build script performs the following operations:

  • Build the C++ wrapper library;
  • Generate ffi.rs file with actual link attributes;
  • Determine C++ type sizes on current platform and generate sized_types.rs;
  • Report linking information to cargo.

This function ends the process with the appropriate error code and never returns to the caller.

Trait Implementations§

Source§

impl Debug for Config

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Inspect for T
where T: Debug,

Source§

fn inspect(self, text: impl Display) -> T

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.