Skip to content

Latest commit

 

History

History
71 lines (45 loc) · 3.2 KB

README.md

File metadata and controls

71 lines (45 loc) · 3.2 KB

Building

KeybindLib depends on several proprietary assemblies that are part of Slime Rancher, some of which need to be publicized. This makes the build process a little complicated.

If you just want a bleeding-edge version of KeybindLib, you can download one from GitHub Actions. Otherwise, follow the steps below.

Windows

  • Download the repository.

  • Open configure and follow the instructions in the DIY INSTRUCTIONS section.

  • Open the src folder, then open KeybindLib.sln in Visual Studio or another C# IDE.

  • Switch the build configuration to Release and build the solution.

  • Open build\target and enjoy your homemade copy of KeybindLib!

Linux

Warning: because SRML only supports the Windows build of Slime Rancher, this mod will likely only function if you have that build. The Linux build won't work.

First, make sure you have Mono, MonoDevelop, git, and NuGet installed.

Then, clone the repo:

git clone https://github.com/Esper89/SlimeRancher-KeybindLib.git
cd SlimeRancher-KeybindLib

Run the configuration script.

./configure

Run make. The result will be in build/target.

make

If you'd like to install it, use the install target.

make install

If you would like to, you can also build KeybindLib by opening src/KeybindLib.sln in MonoDevelop. Unfortunately, MonoDevelop doesn't support C# 8, so the error highlighting will not be correct. For an IDE that does support C# 8, you can use DotDevelop.

Configurations

KeybindLib has three configurations:

  • Debug: KeybindLib and ExampleMod are both compiled, and are automatically copied to your Slime Rancher install directory. Debugging symbols are embedded.

  • Release: KeybindLib is compiled, ExampleMod isn't. KeybindLib's output is placed in build/target, along with it's XML/markdown documentation and a zip of ExampleMod's source tree. Warnings are errors, optimizations are enabled, and debugging symbols are not included.

  • Testing: Same as Release, but ExampleMod is compiled, and no output is placed in build/target. No actual testing is performed.

Running the Clean task will delete the files that were generated by the corresponding Build task.

These are equivalent to make's debug, build and test targets respectively. The clean target cleans all three. See Makefile for the full list of targets.

To test the Release version, use the install make target.

make debug
make test
make install

When building in Release mode, XML and markdown documentation are generated. The markdown documentation is copied to src/KeybindLib/README.md and committed by the GitHub Actions workflow.

If you have any questions, feel free to message me on Discord (Esper#8989) or matrix (@esper89:matrix.org).