[−][src]Struct cmake::Config
Builder style configuration for a pending CMake build.
Methods
impl Config
[src]
pub fn new<P: AsRef<Path>>(path: P) -> Config
[src]
Creates a new blank set of configuration to build the project specified
at the path path
.
pub fn generator<T: AsRef<OsStr>>(&mut self, generator: T) -> &mut Config
[src]
Sets the build-tool generator (-G
) for this compilation.
pub fn cflag<P: AsRef<OsStr>>(&mut self, flag: P) -> &mut Config
[src]
Adds a custom flag to pass down to the C compiler, supplementing those that this library already passes.
pub fn cxxflag<P: AsRef<OsStr>>(&mut self, flag: P) -> &mut Config
[src]
Adds a custom flag to pass down to the C++ compiler, supplementing those that this library already passes.
pub fn define<K, V>(&mut self, k: K, v: V) -> &mut Config where
K: AsRef<OsStr>,
V: AsRef<OsStr>,
[src]
K: AsRef<OsStr>,
V: AsRef<OsStr>,
Adds a new -D
flag to pass to cmake during the generation step.
pub fn register_dep(&mut self, dep: &str) -> &mut Config
[src]
Registers a dependency for this compilation on the native library built by Cargo previously.
This registration will modify the CMAKE_PREFIX_PATH
environment
variable for the build system generation step.
pub fn target(&mut self, target: &str) -> &mut Config
[src]
Sets the target triple for this compilation.
This is automatically scraped from $TARGET
which is set for Cargo
build scripts so it's not necessary to call this from a build script.
pub fn no_build_target(&mut self, no_build_target: bool) -> &mut Config
[src]
Disables the target option for this compilation.
pub fn host(&mut self, host: &str) -> &mut Config
[src]
Sets the host triple for this compilation.
This is automatically scraped from $HOST
which is set for Cargo
build scripts so it's not necessary to call this from a build script.
pub fn out_dir<P: AsRef<Path>>(&mut self, out: P) -> &mut Config
[src]
Sets the output directory for this compilation.
This is automatically scraped from $OUT_DIR
which is set for Cargo
build scripts so it's not necessary to call this from a build script.
pub fn profile(&mut self, profile: &str) -> &mut Config
[src]
Sets the CMAKE_BUILD_TYPE=build_type
variable.
By default, this value is automatically inferred from Rust's compilation profile as follows:
- if
opt-level=0
thenCMAKE_BUILD_TYPE=Debug
, - if
opt-level={1,2,3}
and:debug=false
thenCMAKE_BUILD_TYPE=Release
- otherwise
CMAKE_BUILD_TYPE=RelWithDebInfo
- if
opt-level={s,z}
thenCMAKE_BUILD_TYPE=MinSizeRel
pub fn static_crt(&mut self, static_crt: bool) -> &mut Config
[src]
Configures whether the /MT flag or the /MD flag will be passed to msvc build tools.
This option defaults to false
, and affect only msvc targets.
pub fn build_arg<A: AsRef<OsStr>>(&mut self, arg: A) -> &mut Config
[src]
Add an argument to the final cmake
build step
pub fn env<K, V>(&mut self, key: K, value: V) -> &mut Config where
K: AsRef<OsStr>,
V: AsRef<OsStr>,
[src]
K: AsRef<OsStr>,
V: AsRef<OsStr>,
Configure an environment variable for the cmake
processes spawned by
this crate in the build
step.
pub fn build_target(&mut self, target: &str) -> &mut Config
[src]
Sets the build target for the final cmake
build step, this will
default to "install" if not specified.
pub fn uses_cxx11(&mut self) -> &mut Config
[src]
Alters the default target triple on OSX to ensure that c++11 is available. Does not change the target triple if it is explicitly specified.
This does not otherwise affect any CXX flags, i.e. it does not set -std=c++11 or -stdlib=libc++.
pub fn always_configure(&mut self, always_configure: bool) -> &mut Config
[src]
Forces CMake to always run before building the custom target.
In some cases, when you have a big project, you can disable
subsequents runs of cmake to make cargo build
faster.
pub fn very_verbose(&mut self, value: bool) -> &mut Config
[src]
Sets very verbose output.
pub fn build(&mut self) -> PathBuf
[src]
Run this configuration, compiling the library with all the configured options.
This will run both the build system generator command as well as the command to build the library.
Auto Trait Implementations
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,