Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
formerly cargo-xwinbuild
🚀 Help me to become a full-time open-source developer by sponsoring me on GitHub
Cross compile Cargo project to Windows msvc target with ease using xwin or windows-msvc-sysroot.
By using this software you are consented to accept the license at https://go.microsoft.com/fwlink/?LinkId=2086102
brew install llvm
and you're good to go).llvm-tools
component via rustup component add llvm-tools
or install llvm.A full LLVM installation is recommended to avoid possible issues.
cargo install --locked cargo-xwin
You can also install it using pip:
pip install cargo-xwin
We also provide a Docker image which has wine pre-installed in addition to cargo-xwin and Rust, for example to build for x86_64 Windows:
docker run --rm -it -v $(pwd):/io -w /io messense/cargo-xwin \
cargo xwin build --release --target x86_64-pc-windows-msvc
rustup target add x86_64-pc-windows-msvc
cargo xwin build
, for example, cargo xwin build --target x86_64-pc-windows-msvc
With wine installed, you can run tests with the cargo xwin test
command,
for example, cargo xwin test --target x86_64-pc-windows-msvc
The Microsoft CRT and Windows SDK can be customized using the following environment variables or CLI options.
Environment Variable | CLI option | Description |
---|---|---|
XWIN_CROSS_COMPILER | --cross-compiler | The cross compiler to use, defaults to clang-cl , possible values: clang-cl , clang |
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 |
XWIN_INCLUDE_DEBUG_LIBS | --xwin-include-debug-libs | Whether or not to include debug libs in installation (default false). |
XWIN_INCLUDE_DEBUG_SYMBOLS | --xwin-include-debug-symbols | Whether or not to include debug symbols (PDBs) in installation (default false). |
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.
This work is released under the MIT license. A copy of the license is provided in the LICENSE file.
FAQs
Cross compile Cargo project to Windows MSVC target with ease
We found that cargo-xwin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.