Compile on Windows en fr 

Before working on Rolisteam

Please discuss with us, so we can share the effort to make new features and your work will fulfill Rolisteam needs and goals. Please take a look at our roadmap

Get Source code

The way to get source code changes given your objectives.

I want to compile stable version

To get the source, just download the zip archive

I want to take part in Rolisteam development

Git

Rolisteam manages its source code with Git. So, first learn how to use it and install it. Git Learn Git

The rest of the documentation git commands are given as command line but there are many GUI application to manage git repository.

Github

Github is a platform which stores rolisteam’s git repository.

Those following steps are not mandatory but it definitely speeds up integration. To explain it a bit, those steps create a copy of Rolisteam and its dependencies into your github account. Then, it allows you to do whatever you want. To share your work, just make a pull request (github does it very well).

  • Create your github account
  • Go to Rolisteam organisation page
  • Fork rolisteam the wanted project and its dependencies.
    • Rolisteam project is the source code of Rolisteam and Roliserver. It needs DiceParser, RCharacterSheet, RPlugins and common
    • RCSE project is the charactersheet editor. Its needs RCharacterSheet.
    • Dice brings together all tools to roll dice.
  • Then those git repositories should appear in your github account: https://github.com/Your_Login
  • For Rolisteam and rcse, it is better to change the file .gitmodules before clone the repository:
    [submodule “client/diceparser”]
        path = client/diceparser
        url = https://github.com/Rolisteam/DiceParser.git
        pushURL = git@github.com:Rolisteam/DiceParser.git
    [submodule “client/widgets/gmtoolbox”]
        path = client/widgets/gmtoolbox
        url = https://github.com/Rolisteam/RPlugins.git
        pushURL = git@github.com:Rolisteam/RPlugins.git
    [submodule “client/charactersheet”]
        path = client/charactersheet
        url = https://github.com/Rolisteam/RCharacterSheet.git
        pushURL = git@github.com:Rolisteam/RCharacterSheet.git
    [submodule “client/common”]
        path = client/common
        url = https://github.com/Rolisteam/common.git
        pushURL = git@github.com:Rolisteam/common.git
    

Change every Rolisteam by your github username.
This file describes where git should retrieve dependencies (submodules). We make sure it retrieves them from your github account. Make this only if you plan to work on dependencies too.

  • For Rcse makes the same operation. The .gitmodules file is shorter than Rolisteam one.
  • Install git on windows or github desktop
  • Clone rolisteam:
    git clone --recursive git@github.com:Your_login/rolisteam.git

Congrats, the Rolisteam source code is on your computer.

I have a github account but I don’t want to fork so many repositories

Then, just clone the project from the main repository
git clone --recursive https://github.com/Rolisteam/rolisteam.git

The source code comes on your computer. You won’t be able to integrate your work in Rolisteam, until we give you permission to do so. To do it, we have to accept you in Rolisteam organization. Give us your github username.

Of course, you can send us patch. But it’s less pratical this way.

I don’t want to create github account

Then, just clone the project from the main repository
git clone --recursive https://github.com/Rolisteam/rolisteam.git

Pre-requirements

C++ tools

Rolisteam is written in c++, so C++ compiler is required to work on it. There are several options.

Install Visual Studio or MinGW (Qt can install it for you).

Compiler Pros and Cons:

CompilerProsCons
Visual StudioCompile all Rolisteam features
Compile rolisteam in 64bits or 32bits
difficult to install
MinGWReally easy to install (Qt installer does the job)can't compile some rolisteam features (webview and PDF viewer).
32bits only (for the moment)

Qt5

The first thing is to install Qt (v5.10 or higher).
Get Community version of Qt: https://www.qt.io/download/

At the Qt installation, please select Qt package compatible with your compiler. If you don’t have any. Select mingw version. Qt will install mingw on your computer.

The best option is to compile with visual studio 2015 but it is much easier with mingw. MinGW can make all features of Rolisteam working.

On windows, please use visual studio 2015 to compile. On Windows 10, you may feel the need to use Visual studio 2017.
As it is painful to install it, Rolisteam may still be compiled with other compilers but some features won’t be working.

Zlib

Rolisteam needs zlib to save its notes as OpenDocument (odt)

Install the right dependency given your compiler. * mingw : zlib * visual studio 2015: zlib vc2015

Note that more recent visual studio versions may work as well but it is better to recompile it.

where to install

The file hierarchy must be like that:

C:\where\you\want |-rolisteam\ (source code) |-lib\

Extract the archive content inside the lib directory. A directory zlibapi should appears if you are using mingw. For visual studio, the directory is called zlib_1_2_8.

Compile Rolisteam

At this step, you are ready to compile.

Open rolisteam.pro with qtcreator. Let qtcreator loads the project and then click on Build (Ctrl+b) and run (F5). Rolisteam starts.

Remove some features.

Removing some features may help to compile. As feature requires dependencies.

Zlib.

To remove the need of Zlib, edit rolisteam/client/client.pro and comment out:

CONFIG += HAVE_ZLIB to #CONFIG += HAVE_ZLIB

This will disabled saving note as OpenDocument.

Webengine

Webengine is a Qt component. It is dedicated to display web page. Rolisteam may uses it inside some charactersheets. Qt on windows provides it only in the visual studio 2015.

Webview is also used for viewing pdf, in order to compile rolisteam without webview, you must also disable the PDF feature.

In an extreme case, remove the need of webengine . Edit rolisteam/client/client.pro and comment out:

#CONFIG += HAVE_WEBVIEW  
#CONFIG += HAVE_PDF

Sound

Rolisteam comes with audio players. These player required QtMultimedia module and its backend.

Edit rolisteam/client/client.pro and comment out:

CONFIG += HAVE_SOUND

PDF

Rolisteam (since 1.9) can display PDF. If you don’t want this feature: Edit rolisteam/client/client.pro and comment out:

CONFIG += HAVE_PDF

FAQ

I’m getting error like this: RCC: Error in ‘rolisteam.qrc’: Cannot find file ‘translation/rolisteam_fr.qm’

rolisteam_fr.qm is a binary translation file. It’s generated from rolisteam_fr.ts. Run the command below to generate all translation file: lrelease client/client.pro or run linguist (Qt translator tool) and release translations. Then the compilation must be just fine.

zlib compilation

zlib1g can be install on Windows, but there is an issue into zconf.h include:

#if 1           /* HAVE_UNISTD_H -- this line is updated by ./configure */

replace this line by

#if HAVE_UNISTD_H  /*-- this line is updated by ./configure */