It should be noted how building Etterna on your own from the lastest commit is more likely to behave strangely(Resulting in crashes, profile wipes, etc). Do it at your own risk. It is recommended to use the installers or source files provided with every release.
You will need the following:
Run this command in a cmd from the folder where you want to download etterna:
git clone https://github.com/etternagame/etterna.git
Make sure you’re in the right branch(default is master). Find out which is the latest one by asking someone. As of 7/17 this is “develop”. To change your branch to that one open a cmd in a folder inside the repo you cloned(Inside /etterna) and do
git checkout develop
git submodule update --init
Change develop to the branch you want (master is usually the stable branch and develop the playground, unstable one). Remember to run git submodule.
Run cmake(from cmd or cmakeGUI) configured for VS 2015 and open the project files generated(/Build/Etterna.sln). If not using cmakeGUI, the command should look like this(Run from a cmd in /Build/, you might have to change the Visual Studio version to the one you have):
cmake .. -G "Visual Studio 14 2015" --build
Note that an error like this:
While compiling is completely normal.
In order to build an installer first compile and then run stepmania.nsi(Right click+ run NSIS script) to make the installer. To play without installing simply compile and open etterna/Program/Etterna.exe or run the Etterna project from VS.
NOTE: You may need to make sure you’re compiling as Release(Defaults to Debug)
NOTE 2: If you get an error like this: Try adding this to StepMania.cpp:
#include <Windows.h>
#include <stdio.h>
int (WINAPIV * __vsnprintf)(char *, size_t, const char*, va_list) = _vsnprintf;
Open a terminal and:
sudo apt-get install build-essential git cmake
sudo apt-get install libmad0 libcurl4-openssl-dev mesa-common-dev libglu1-mesa-dev libglew1.5-dev libxtst-dev libxrandr-dev libpng12-dev libjpeg-dev zlib1g-dev libbz2-dev libogg-dev libvorbis-dev libc6-dev yasm libasound-dev libpulse-dev binutils-dev libgtk2.0-dev libudev-dev libva-dev
Open a terminal and:
dnf install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
dnf install libXrandr-devel libXtst-devel libpng-devel libjpeg-devel zlib-devel libogg-devel libvorbis-devel yasm alsa-lib-devel pulseaudio-libs-devel bzip2-devel jack-audio-connection-kit-devel libva-devel pcre-devel gtk2-devel glew-devel libudev-devel
Open a terminal and:
git clone --depth=1 https://github.com/etternagame/etterna.git
cd etterna
git submodule update --init
mkdir Build
cd Build
cmake .. -G 'Unix Makefiles'
make
Also note you probably want to do “git checkout” to the branch you want. Ask around to find out which one it is(develop is the development branch as of 2/2018)
If it doesn’t work you can look at how travis does it(https://travis-ci.org/etternagame/etterna)
If you want to run etterna from a launch button like some desktop environments have, make a shell script like this and set the launch button to run the shell script. This assumes that the etterna folder is ~/etterna. If you don’t know already, “~/” is shorthand for the home folder of the current user on Linux.
Make a new emtpy text document and add the following:
#!/bin/bash
cd ~/etterna
./etterna
Save it as etternalauncher.sh or something similar
right click it and make it executable in properties>permissions
Install songs in ~/.etterna/Songs/
Install themes in ~/.etterna/Themes/
Install noteskins in ~/.etterna/NoteSkins/
Preferences are in ~/.etterna/Save/Preferences.ini
Profiles are in ~/.etterna/Save/LocalProfiles/
When you want to update your copy of SM5:
cd into the etterna folder you cloned(usually ~/etterna), and run a git pull in terminal:
git checkout master
git pull origin master
Replacing master(twice) for the git branch you want to update to. Then build again(As instructed above).
First we download/clone the repository from github:
git clone https://github.com/etternagame/etterna.git
cd etterna
git submodule update --init
Next we install the necessary libs:
brew install openssl
brew install --HEAD libuv --universal
brew install yasm
brew install nasm
brew uninstall libuv
brew install libuv --universal
brew uninstall openssl
brew install openssl --universal
brew uninstall zlib
brew install zlib --universal
We finish configuring the project:
mkdir build && cd build
export LIBRARY_SEARCH_PATHS=../Xcode/Libraries
export LIBRARY_PATH=../Xcode/Libraries
mv ../src/archutils/Darwin/Etterna.pch ../src/archutils/Darwin/StepMania.pch
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G "Xcode" ..
mv ../src/archutils/Darwin/StepMania.pch ../src/archutils/Darwin/Etterna.pch
Finally, we build the project:
xcodebuild ARCHS="x86_64" -project Etterna.xcodeproj -target Etterna -destination 'platform=OS X,arch=x86_64' -xcconfig ../Xcode/conf.cnf