Container solution to compile Rust projects for Linux, macOS and Windows.
docker build -t rust-universal-compiler:latest .
To allow cross-compilation from Linux to Windows and MacOS, it is necessary to create in the project folder the .cargo/config
file containing the following lines:
[target.x86_64-pc-windows-msvc]
rustflags = ["-C", "target-feature=+crt-static"]
[target.x86_64-apple-darwin]
linker = "x86_64-apple-darwin14-clang"
ar = "x86_64-apple-darwin14-ar"
Compile for Linux (x86_64-unknown-linux-gnu
):
docker run --rm -v $PWD/test-project:/app -w /app rust-universal-compiler:latest cargo build --target x86_64-unknown-linux-gnu --release
Compile for MacOS (x86_64-apple-darwin
):
docker run --rm -v $PWD/test-project:/app -w /app rust-universal-compiler:latest cargo build --target x86_64-apple-darwin --release
Compile for Windows (x86_64-pc-windows-msvc
):
docker run --rm -v $PWD/test-project:/app -w /app rust-universal-compiler:latest cargo build --target x86_64-pc-windows-msvc --release