There is currently two ways of building Simpit.
- Set the KSPDIR environment variable to the version of KSP you want to build against. KSPDIR should be set to the path containing the KSP executable
- Open the KerbalSimpit.sln and compile it.
- The DLL is built in bin\Debug by default. If KSPDIR is set and Simpit is installed, the Simpit DLL will be overwritten to update Simpit.
This method is not currently up to date with the addition of the keyboard emulator
-
Have WSL enabled, running Debian 10
-
Run: sudo apt install build-essential
-
Install mono complete as instructed here: https://www.mono-project.com/download/stable/#download-lin-debian
-
Create the required symlinks from your KSP install directory to the directory of this project
- For Windows/WSL (In an Admin CMD Prompt):
- mklink /D "C:\Path\To\Local\Repo\KerbalSpaceProgram" "C:\Path\To\KSP\Root\Install"
- mklink /D "C:\Path\To\Local\Repo\install" "C:\Path\To\KSP\Root\Install\GameData"
- For Linux:
- ln -s /path/to/steamapps/common/Kerbal Space Program /path/to/this/project/KerbalSpaceProgram
- ln -s /path/to/steamapps/common/Kerbal Space Program/GameData /path/to/this/project/install
- For Windows/WSL (In an Admin CMD Prompt):
-
Run: make install, to build and install the DLL
-
Try the above steps, and if they do not work, also try installing dotnet, following the install instructions here: https://docs.microsoft.com/en-gb/dotnet/core/install/linux
Set the version number and the KSP compatibility in VERSION.txt
. Set the same version number in the Arduino lib library.properties.
Update CHANGELOG.md
.
Check that the Arduino repo is up to date (it is assumed to be in the same parent folder than the C# repo) and that there is no non-commited file.
Compile the project in Release mode. This will automatically call the make_release.bat
script that will create a folder and a zip in the "NextReleases" folder.
Test that the created folder, once copied into GameData, is working
Commit and push the last commit. Merge it with master.
Create a release on GitHub referecing this commit, tag it as "vX.Y.Z" and upload the created zip.
Tag the current Arduino commit with the same version tag and push it.
Check that CKAN and readthedocs pick up the new version.