Struct cmake::Config[][src]

pub struct Config { /* fields omitted */ }

Builder style configuration for a pending CMake build.

Methods

impl Config
[src]

Creates a new blank set of configuration to build the project specified at the path path.

Sets the build-tool generator (-G) for this compilation.

Adds a custom flag to pass down to the C compiler, supplementing those that this library already passes.

Adds a custom flag to pass down to the C++ compiler, supplementing those that this library already passes.

Adds a new -D flag to pass to cmake during the generation step.

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.

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.

Disables the target option for this compilation.

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.

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.

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 then CMAKE_BUILD_TYPE=Debug,
  • if opt-level={1,2,3} and:
    • debug=false then CMAKE_BUILD_TYPE=Release
    • otherwise CMAKE_BUILD_TYPE=RelWithDebInfo
  • if opt-level={s,z} then CMAKE_BUILD_TYPE=MinSizeRel

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.

Add an argument to the final cmake build step

Configure an environment variable for the cmake processes spawned by this crate in the build step.

Sets the build target for the final cmake build step, this will default to "install" if not specified.

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++.

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.

Sets very verbose output.

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

impl Send for Config

impl Sync for Config