Skip to main content

Cross compile Cargo project to Windows MSVC target with ease

Project description

cargo-xwin

formerly cargo-xwinbuild

CI Crates.io docs.rs PyPI

Cross compile Cargo project to Windows msvc target with ease. (LLVM installation required.)

By using this software you are consented to accept the license at https://go.microsoft.com/fwlink/?LinkId=2086102

Installation

cargo install cargo-xwin

You can also install it using pip:

pip install cargo-xwin

Usage

  1. Install LLVM, on macOS: brew install llvm
  2. Install Rust Windows msvc target via rustup, for example, rustup target add x86_64-pc-windows-msvc
  3. Run cargo xwin build, for example, cargo xwin build --target x86_64-pc-windows-msvc

Run tests with wine

With wine installed, you can run tests with the cargo xwin test command, for example, cargo xwin test --target x86_64-pc-windows-msvc

Customization

The Microsoft CRT and Windows SDK can be customized using the following environment variables or CLI options.

Environment Variable CLI option Description
XWIN_ARCH --xwin-arch The architectures to include, defaults to x86_64,aarch64, possible values: x86, x86_64, aarch, aarch64
XWIN_VARIANT --xwin-variant The variants to include, defaults to desktop, possible values: desktop, onecore, spectre
XWIN_VERSION --xwin-version The version to retrieve, defaults to 16, can either be a major version of 15 or 16, or a <major>.<minor> version
XWIN_CACHE_DIR --xwin-cache-dir xwin cache directory to put CRT and SDK files

CMake Support

Some Rust crates use the cmake crate to build C/C++ dependencies, cargo-xwin will generate a CMake toolchain file automatically to make cross compilation work out of the box.

ninja is required to enable CMake support.

License

This work is released under the MIT license. A copy of the license is provided in the LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

cargo_xwin-0.7.1-py3-none-win_amd64.whl (2.7 MB view details)

Uploaded Python 3 Windows x86-64

cargo_xwin-0.7.1-py3-none-win32.whl (2.6 MB view details)

Uploaded Python 3 Windows x86

cargo_xwin-0.7.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.5 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARMv7l

cargo_xwin-0.7.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.4 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

cargo_xwin-0.7.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (4.7 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ x86-64

cargo_xwin-0.7.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl (4.7 MB view details)

Uploaded Python 3 manylinux: glibc 2.5+ i686

cargo_xwin-0.7.1-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (6.2 MB view details)

Uploaded Python 3 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

File details

Details for the file cargo_xwin-0.7.1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for cargo_xwin-0.7.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7a7d1f45dedd8cef3bc7208609c6252579de7c9f167c132e879c1e0a6b040577
MD5 b0f812493810d6f0d823f29ff09b6c46
BLAKE2b-256 49994c4c770e28085fd32b00ce42340e8daf9bb25b70acccbb32501169dc476f

See more details on using hashes here.

File details

Details for the file cargo_xwin-0.7.1-py3-none-win32.whl.

File metadata

  • Download URL: cargo_xwin-0.7.1-py3-none-win32.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.12.10

File hashes

Hashes for cargo_xwin-0.7.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 5f237f82ceeb1c5f457ac1bdd83705418057aa995626925e10e6cdeda04b697a
MD5 f635ebd4976c36f7cbdc07f70fbade97
BLAKE2b-256 9bb62c8363d262919bdffc5bedb27a3e2aca4d2749ef44fdcd41a35d1eb7f154

See more details on using hashes here.

File details

Details for the file cargo_xwin-0.7.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for cargo_xwin-0.7.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 27d369f6324614e4a9180c0d068386fbbebea3ebee158bc3c4ebdd6f50d24baa
MD5 6ffaca95e31b5b16c359ff3d7983628b
BLAKE2b-256 de4bcdcd4e0f600e16126fe21536d64cbfdb986768f04b7e205e959d76175817

See more details on using hashes here.

File details

Details for the file cargo_xwin-0.7.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for cargo_xwin-0.7.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7341bc4f16fcebbbb9d01ef79ea952f26910b2276751071f1487b1c4cdaf91c6
MD5 63fa7fcd8943efd5f02022ca699fac62
BLAKE2b-256 d1806d781419ce06dfaf2e7d747f1d3b97c6debbe410fbfe089d6f8dfd9cbefd

See more details on using hashes here.

File details

Details for the file cargo_xwin-0.7.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for cargo_xwin-0.7.1-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 593502a01c0c01a4497dda6edd9933c8542e657279c176ee68cce195dcd0c4fa
MD5 40be139d1bdc830f01d1f03f993d4313
BLAKE2b-256 8b216da2f249498c4be3ef0b25bcc47b1c172334bdac8c73b9baaff20b206dd1

See more details on using hashes here.

File details

Details for the file cargo_xwin-0.7.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for cargo_xwin-0.7.1-py3-none-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 9961d16efae317a39c9031af8ebe4b08428e7dc4a1eca0a30229b6727c5d13f7
MD5 bb948bc566ce98c675e18dca4752ec97
BLAKE2b-256 9b6f3ad073a1bd5a414ef954a8a2ce701022cc8b5f4fb6fbebe998e3ceb3a867

See more details on using hashes here.

File details

Details for the file cargo_xwin-0.7.1-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for cargo_xwin-0.7.1-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 008969957b56472fcd8e8dae3fdbb8df04a608485e673cc13bfd8737a60ad7fd
MD5 accd1903b2760cde67bfffa18924f119
BLAKE2b-256 87cf11b79638336d40c0f247b257ebf28715e516a2324a381d4a11f93df390e1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page