3.3 KiB
Compiling LÖVR
You might want to compile LÖVR from source so you can use LÖVR on other operating systems or create a custom build. Below is a guide for setting up all the dependencies and compiling the code on various operating systems.
Dependencies
- LuaJIT
- GLFW (3.2+)
- OpenGL (3.3, ES3, or WebGL 2)
- assimp
- OpenVR (1.0.5, for
lovr.headset
) - PhysicsFS
- OpenAL (1.17+ recommended for HRTF support)
- FreeType
- ODE (for
lovr.physics
) - Emscripten (optional, for compiling for web)
See lovr-deps for a GitHub repo containing all of these as submodules.
Windows (CMake)
First, install lovr-deps:
cd lovr
git clone --recursive https://github.com/bjornbytes/lovr-deps deps
Next, use CMake to generate the build files:
mkdir build
cd build
cmake ..
This should output a Visual Studio solution, which can be built using Visual Studio. Or you can just build it with CMake:
cmake --build .
The executable will then exist at /path/to/lovr/build/Debug/lovr.exe
. The recommended way to
create and run a game from this point is:
- Create a shortcut to the
lovr.exe
executable somewhere convenient. - Create a folder for your game:
MySuperAwesomeGame
. - Create a
main.lua
file in the folder and put your code in there. - Drag the
MySuperAwesomeGame
folder onto the shortcut tolovr.exe
.
Unix (CMake)
First, clone OpenVR. For this example, we'll clone
openvr
into the same directory that lovr
was cloned into.
git clone --branch v1.0.5 https://github.com/ValveSoftware/openvr.git
Next, install the other dependencies above using your package manager of choice:
brew install assimp glfw3 luajit physfs freetype openal-soft ode
On OSX, you'll need to set the DYLD_LIBRARY_PATH
environment variable to be
/path/to/openvr/lib/osx32
.
Next, build using CMake:
mkdir build
cd build
cmake .. -DOPENVR_DIR=../../openvr
cmake --build .
The lovr
executable should exist in lovr/build
now. You can run a game like this:
./lovr /path/to/myGame
You can also copy or symlink LÖVR into a directory on your PATH
environment variable (e.g.
/usr/local/bin
) and run games from anywhere by just typing lovr
.
WebVR
First, install the Emscripten SDK. Make sure you're running this branch of Emscripten.
Unix:
mkdir build
cd build
emcmake cmake -DCMAKE_BUILD_TYPE=Release ..
emmake make -j2
Windows (from a Visual Studio Command Prompt, make sure the Emscripten SDK is on PATH):
mkdir build
cd build
emcmake cmake -G "NMake Makefiles" ..
emmake nmake
The above commands will output lovr.html
, lovr.js
, and lovr.js.mem
. To package a game, run:
python /path/to/emscripten/tools/file_packager.py game.data --preload /path/to/game@/ --js-output=game.js
Which will output game.js
and game.data
. The lovr.html
file will need to be modified to
include game.js
in a script tag.
Troubleshooting
- If you get "CMake no CMAKE_CXX_COMPILER found" on Windows, then install Visual Studio and create a blank C++ project, which will prompt you to install the compilers and tools necessary to compile LÖVR.