Document nightly releases
This commit is contained in:
+37
-44
@@ -1,16 +1,21 @@
|
||||
Instructions
|
||||
==
|
||||
# Instructions
|
||||
|
||||
Most users will find everything they need in this README. There are differences in the build process for ITGmania as compared to Stepmania, so it is recommended to stick with these ITGmania instructions. For anything not covered in this guide, you can usually refer to the original Stepmania documents [here](https://github.com/stepmania/stepmania/wiki/Compiling-StepMania), as long as you replace references to Stepmania with ITGmania.
|
||||
|
||||
Warning
|
||||
==
|
||||
## Continuous Integration
|
||||
Pushes and pull requests to the `beta` branch of the repository are built with a [GitHub Actions workflow](https://github.com/itgmania/itgmania/actions/workflows/nightly.yml), in which "nightly releases" are compiled for a matrix of operating systems and architectures.
|
||||
|
||||
By default, GitHub stores build artifacts for 90 days. They can be downloaded from the Artifacts section of the Summary page on an execution of the workflow.
|
||||
|
||||
## Local Development
|
||||
|
||||
#### Warning
|
||||
|
||||
Using CMake is considered stable, but not every single combination is known to work.
|
||||
Using the defaults as suggested should cause minimal problems.
|
||||
|
||||
Init Submodules
|
||||
==
|
||||
### Init Submodules
|
||||
|
||||
Make sure you initialize the submodules after cloning the repository. This is required.
|
||||
|
||||
```sh
|
||||
@@ -21,41 +26,33 @@ git submodule update --init --recursive
|
||||
|
||||
After that, you can follow the cmake instructions below to create the build.
|
||||
|
||||
Install CMake
|
||||
==
|
||||
### Install CMake
|
||||
|
||||
At first, you have to install CMake.
|
||||
|
||||
All OSes
|
||||
===
|
||||
#### All OSes
|
||||
|
||||
The common way of installing CMake is to go to [CMake's download page](http://www.cmake.org/download/). At this time of writing, the latest version is 3.23.2. The minimum version supported at this time is 3.20.
|
||||
|
||||
If this approach is used, consider using the binary distributions. Most should also provide a friendly GUI interface.
|
||||
|
||||
Windows
|
||||
===
|
||||
#### Windows
|
||||
|
||||
For those that prefer package manager systems, [Chocolatey](https://chocolatey.org/) has a CMake package. Run `choco install cmake` to get the latest stable version.
|
||||
|
||||
macOS Specific
|
||||
===
|
||||
#### macOS Specific
|
||||
|
||||
For those that prefer package manager systems, both [Homebrew](http://brew.sh/) and [MacPorts](https://www.macports.org/) offer CMake as part of their offerings. Run `brew install cmake` or `port install cmake` respectively to get the latest stable version.
|
||||
|
||||
Linux
|
||||
===
|
||||
#### Linux
|
||||
|
||||
There are many package managers available for Linux. Look at your manual for more details. Either that, or utilize the All OS specific approach.
|
||||
|
||||
|
||||
CMake Usage
|
||||
==
|
||||
### CMake Usage
|
||||
|
||||
There are two ways of working with cmake: the command line and the GUI.
|
||||
|
||||
CMake Command Line
|
||||
===
|
||||
#### CMake Command Line
|
||||
|
||||
If you are unfamiliar with cmake, first run `cmake --help`. This will present a list of options and generators.
|
||||
The generators are used for setting up your project.
|
||||
@@ -79,8 +76,7 @@ The reason for running cmake at least twice is to make sure that all of the vari
|
||||
Environment variables can be modified at this stage. If you want to pass `-ggdb` or any other flag that is not set up by default,
|
||||
utilize `CXXFLAGS` or any appropriate variable.
|
||||
|
||||
CMake GUI
|
||||
===
|
||||
#### CMake GUI
|
||||
|
||||
For those that use the GUI to work with cmake, you need to specify where the source code is and where the binaries will be built.
|
||||
The first one, counter-intuitively, is actually the parent directory of this one: the main ITGmania directory.
|
||||
@@ -93,8 +89,7 @@ If the cmake project file changes, you can just generate the build to get up to
|
||||
If this by itself doesn't work, you may have to clean the cmake cache.
|
||||
Go to File -> Delete Cache, and then run the `Configure` and `Generate` steps again.
|
||||
|
||||
Release vs Debug
|
||||
==
|
||||
### Release vs Debug
|
||||
|
||||
If you are generating makefiles with cmake, you will also need to specify your build type.
|
||||
Most users will want to use `RELEASE` while some developers may want to use `DEBUG`.
|
||||
@@ -107,13 +102,13 @@ It is advised to clean your cmake cache if you switch build types.
|
||||
Note that if you use an IDE like Visual Studio or Xcode, you do not need to worry about setting the build type.
|
||||
You can edit the build type directly in the IDE.
|
||||
|
||||
Compiling ITGmania
|
||||
==
|
||||
### Compiling ITGmania
|
||||
|
||||
To use ITGmania on your computer, it is first assumed that **CMake** is run (see README.md for more information).
|
||||
Then, follow the guide based on your operating system.
|
||||
|
||||
Windows
|
||||
===
|
||||
#### Windows
|
||||
|
||||
Everything needed for building on Windows is available via the Visual Studio Installer:
|
||||
- The "Desktop development with C++" workload (which includes MSVC, C++ ATL, C++ MFC, C++ modules, C++/CLI support),
|
||||
- The Windows SDK.
|
||||
@@ -129,36 +124,34 @@ Confirm the installation. Once everything is installed, you can open **StepMania
|
||||
|
||||

|
||||
|
||||
macOS
|
||||
===
|
||||
#### macOS
|
||||
|
||||
Using Xcode, simply build in Xcode and it will place the .app file in the correct directory.
|
||||
|
||||
Linux
|
||||
===
|
||||
#### Linux
|
||||
|
||||
From the `itgmania` directory (not `src`), run `cmake -B build` followed by `sudo make install`. The `itgmania` executable will be in the same directory you are in, so you can type `./itgmania` to run the game.
|
||||
|
||||
Installing ITGmania
|
||||
==
|
||||
### Installing ITGmania
|
||||
|
||||
Installing in this context refers to placing the folders and generated binary in a standard location based on your operating system.
|
||||
This guide assumes default install locations.
|
||||
If you want to change the initial location, pass in `-DCMAKE_INSTALL_PREFIX=/new/path/here` when configuring your local setup.
|
||||
|
||||
Windows
|
||||
===
|
||||
#### Windows
|
||||
|
||||
The default installation directory is `C:\Games\ITGmania`.
|
||||
|
||||
macOS
|
||||
===
|
||||
#### macOS
|
||||
|
||||
The `ITGmania.app` package can be copied to `/Applications` and it will work as expected.
|
||||
|
||||
Linux
|
||||
===
|
||||
#### Linux
|
||||
|
||||
After installing, run `sudo make install`. The files will be placed in the location specified:
|
||||
by default, that is now `/usr/local/itgmania`.
|
||||
|
||||
Last Words
|
||||
==
|
||||
### Last Words
|
||||
|
||||
With that, you should be good to go.
|
||||
If there are still questions, view the resources on the parent directory's README.md file.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user