Creating a new crate
First, if you haven't done so already, create a new crate within your project directory
using cargo new --lib
. It is recommended that the crate root is a sibling of the other native build
folders for ease of config, e.g.:
├── android
├── ios
├── lib
├── linux
├── macos
├── $crate
│ ├── Cargo.toml
│ └── src
├── test
├── web
└── windows
Throughout this section we will refer to your crate name as $crate. Unless otherwise noted, the crate folder and the crate name will be used interchangeably.
Next, add these two lines to your Cargo.toml
:
+[lib]
+crate-type = ["staticlib", "cdylib"]
This configures your crate to be output as a static library for MacOS and iOS,
and a dynamic library on other platforms. Configure this to your needs.
If you would like to write tests or benchmarks, append "rlib"
to the list
as well.