Skip to content

Building MartyPC

dbalsom edited this page Jan 1, 2024 · 7 revisions

MartyPC can be built targeting Windows, Linux, MacOS and wasm*.

It may be possible to build on other platforms, but I haven't tested.

All Targets

The first step to building MartyPC is installing Rust on your system. Visit the installation instructions at rust-lang.org and follow the instructions for installing Rust for your platform.

Next, make sure you have git installed. If you need to install it, you can use your system's package manager, or install Git directly.

Building for Windows

  • Make sure you have installed the MSVC build tools
    • You don't need to install the entire Visual Studio community edition, but you can as an alternative to installing build tools.
    • When installing the build tools, you can select the C++ build option to reduce the amount of disk space you need.
  • Open a command prompt
  • cd to an appropriate directory (git will make a new subdirectory here when you clone the MartyPC repo)
  • Clone the repository
    • Type git clone https://github.com/dbalsom/martypc.git
  • Type cd martypc/install
  • Type cargo run -r --features ega (features may vary - see Cargo.toml for a list)

Building for Linux

Building for Linux follows the same basic process, but you must have several development dependencies installed. How you install them depends on your particular distribution.

Building for MacOs

  • Open a Terminal window
  • cd to an appropriate directory
  • clone the repository
    • git clone https://github.com/dbalsom/martypc.git
  • cd into the /install directory in the newly cloned repository
  • type cargo run -r --features ega (features may vary - see Cargo.toml for a list)

Contributing to MartyPC

  • IDEs
    • If you'd like to use a IDE, I recommend RustRover, which is currently free during EAP. I currently maintain build configurations for RustRover.
    • You can also use Visual Studio Code, but I haven't been updating the build configurations in a while, so you may need to update things. Please send a pull request for anything you have to fix.
  • Pull Requests
    • PRs are welcome! Just be sure that you describe them well and have thoroughly tested them.
    • Please respect the configured rustfmt settings - I recommend configuring your editor or IDE to perform rustfmt on save.