msvc 0.1.0

A tool to automate setup for MSVC projects with vc-ltl and thunk-rs.
msvc-0.1.0 is not a library.

msvc

A tool to automate setup for MSVC projects with vc-ltl and optionally thunk-rs.

Features

  • Automatically adds or removes vc-ltl as a dependency.
  • Optionally adds or removes thunk-rs as a build dependency and modifies build.rs to call thunk::thunk() only on MSVC.
  • Optionally configures or removes the default target to x86_64-pc-windows-msvc.
  • Optionally adds or removes all configurations at once.

Installation

cargo install msvc

Usage

Navigate to your Cargo project directory and run:

# Add or remove vc-ltl dependency
msvc

# Add vc-ltl and thunk-rs, and modify build.rs
msvc -t
# or
msvc --thunk

# Remove thunk-rs dependency and build.rs file (if managed by cargo-msvc)
msvc -t
# or
msvc --thunk

# Configure default target to x86_64-pc-windows-msvc
msvc -x
# or
msvc --x86-64

# Remove default target configuration
msvc -x
# or
msvc --x86-64

# Add all configurations (vc-ltl, thunk-rs, and target configuration)
msvc -a
# or
msvc --add-all

# Remove all configurations (vc-ltl, thunk-rs, and target configuration)
msvc -r
# or
msvc --remove-all

This will:

  1. If no flags are specified:
    • If vc-ltl is not in your project's dependencies, add it.
    • If vc-ltl is already in your project's dependencies, remove it.
  2. If -t or --thunk is specified:
    • If thunk-rs is not in your project's build dependencies, add it and create or update build.rs.
    • If thunk-rs is already in your project's build dependencies, remove it and the build.rs file (if managed by cargo-msvc).
  3. If -x or --x86-64 is specified:
    • If the default target is not configured to x86_64-pc-windows-msvc, configure it by creating or updating .cargo/config.toml.
    • If the default target is already configured to x86_64-pc-windows-msvc, remove the configuration from .cargo/config.toml.
  4. If -a or --add-all is specified:
    • Add vc-ltl dependency.
    • Add thunk-rs build dependency.
    • Create or update build.rs.
    • Configure default target to x86_64-pc-windows-msvc.
  5. If -r or --remove-all is specified:
    • Remove vc-ltl dependency.
    • Remove thunk-rs build dependency (if present).
    • Remove build.rs file (if managed by cargo-msvc).
    • Remove target configuration from .cargo/config.toml (if present).

License

Licensed under either of

at your option.