Make sure you have the necessary dependencies installed for your operating system.
- Visual Studio 2017: Required for building with MSVC due to C++14 language features. See the compile instructions for VS for details.
- CMake: Make sure it's installed and in your PATH.
- MinGW: For using
mingw32-make
.
- Ensure
cmake
andmake
are installed using your package manager. - Install dependencies listed in
CMakeLists.txt
.
- Use
brew
to install dependencies:brew install Assimp SDL2 SDL2_mixer TinyXML2 Bullet freeimage
In your favorite console, run these commands:
git clone https://github.com/GlPortal/glPortal.git
cd glPortal
git submodule update --init --recursive
Check the README.md and COMPILE.md files from the release you downloaded for any differences in the compile workflow.
In the root directory of the downloaded source type:
cmake ./;
mkdir build && cd build
cmake .. -G "MSYS Makefiles" -DCMAKE_MAKE_PROGRAM="mingw32-make"
brew install Assimp SDL2 SDL2_mixer TinyXML2 Bullet freeimage
cmake ./;
If you want to profile the source code pass -DCMAKE_CXX_FLAGS=-pg
to cmake.
If you encounter an error during this step use the bugtracker https://github.com/GlPortal/glPortal/issues to report an issue.
If the command did not produce an error, you can build the binary by typing in:
make
mingw32-make
make
If this produces no error you have built the binary and should be able to start GlPortal by typing in:
make run
Before we can start the game it is necessary to copy some dlls into our executable directory.
cp /mingw32/bin/{libLinearMath,SDL2{,_mixer},libtinyxml2,libgcc_s_dw2-1,libstdc++-6,libmodplug-1,libvorbisfile-3,libvorbis-0,libogg-0,libassimp,libBulletCollision,libBulletDynamics,libepoxy-0,libwinpthread-1,libfluidsynth-1,libminizip-1,zlib1,libFLAC-8,libmad-0,libbz2-1,libglib-2.0-0,libportaudio-2,libsndfile-1,libintl-8,libspeex-1,libvorbisenc-2,libiconv-2}.dll source
cp /mingw64/bin/{libLinearMath,SDL2{,_mixer},libtinyxml2,libgcc_s_seh-1,libstdc++-6,libmodplug-1,libvorbisfile-3,libvorbis-0,libogg-0,libassimp,libBulletCollision,libBulletDynamics,libepoxy-0,libwinpthread-1,libfluidsynth-1,libminizip-1,zlib1,libFLAC-8,libmad-0,libbz2-1,libglib-2.0-0,libportaudio-2,libsndfile-1,libintl-8,libspeex-1,libvorbisenc-2,libiconv-2,libpcre-1}.dll source
mingw32-make run
make run
If you get errors, try to build GlPortal again. If you don't manage to fix the error, use the bugtracker https://github.com/GlPortal/glPortal/issues or http://bugs.glportal.de to report what you did, and what error you got.
Building with docker is still in early testing and not feature complete. It will make compiling easier in the future.
docker run -it --rm -w /data -v $(pwd):/data glportal/gcc bash -c "cmake ./; make"
To run the game type:
source/glportal --datadir ./data
Not working? No worries! Help us help you figure out what we missed to make this work on your system by opening an issue.