Secretchronicles / TSC

An open source two-dimensional platform game.
https://secretchronicles.org/
GNU General Public License v3.0
205 stars 49 forks source link

Need CEGUI build instructions #641

Closed hgdagon closed 6 years ago

hgdagon commented 6 years ago

I understand we're mainly targeting Ubuntu here, which apparently provides a CEGUI package. Quite frankly, I would vote for adding CEGUI as a submodule and taking care of it during the build procces. But in the meantime, exactly what kind of a CEGUI build does TSC expect? Which modules are needed and what should the default image codec and XML parser be?

xet7 commented 6 years ago

At this repo: https://github.com/Secretchronicles/TSC there is these scripts that I do run:

git clone https://github.com/Secretchronicles/TSC
cd TSC
./install-build-dependencies.sh 
./build-tsc.sh
./run-tsc.sh

There is also flatpak build script. The plan is to have TSC flatpak repo hosted on server, and use flatpak package for distros that support flatpak.

Flatpak support was added here.

xet7 commented 6 years ago

Those build scripts work on Debian 9 and Ubuntu 16.10 or newer.

xet7 commented 6 years ago

@hgdagon

Why CEGUI should be submodule? On what distro you are trying to build TSC?

hgdagon commented 6 years ago

I'm running Manjaro (Arch). The aur package doesn't build anymore, and I wanna have as minimal of a build as possible. Those scripts, as you mentioned, are for Debian. So, I'm looking a list of required CEGUI modules to build manually.

xet7 commented 6 years ago

Ok, maybe @Quintus could provide that list when he gets some free time.

hgdagon commented 6 years ago

Why CEGUI should be submodule?

Because of many different build configurations CEGUI can have.

I'm going to try out a minimal build with only DevIL as image codec and LibXML2 as the XML Parser.

refi64 commented 6 years ago

I don't know if anyone really knows... I know if you take a look at the travis branch, you can look at what dependencies are required. IIRC there was DevIL, LibXML 2, libpng, and the legacy OpenGL backend.

FWIW the Flatpak manifest can be used to build it, too.

hgdagon commented 6 years ago

... and the legacy OpenGL backend.

Thank you! I will try it out.

hgdagon commented 6 years ago

It's been a while since I tackled TSC, I remember now where to check that. DevIL image codec OpenGL Renderer (NOT OpenGL3) LibXML2 XML Parser

Quintus commented 6 years ago

Hi everyone,

I see that the INSTALL.md file could see some additions on the exact CEGUI build configuration indeed. Though CEGUI is meant to be modular in the way that any combination should work (with one exception explained below).

I usually use the configuration that you pointed out: DevIL image codec, Legacy OpenGLRenderer, and the Libxml2 XML parser. I have however had it working also with the FreeImage image codec and the XercesC XML parser.

OpenGL 3 and newer does not work for TSC 2, because it contains lots of (inherited) manual OpenGL2 calls. You can't mix that with OpenGL 3. This is the one exception I mentioned above; thus you do have to use the OpenGL 2 based CEGUI renderer module.

If you're on ArchLinux or a derivative, you could also use the AUR package for TSC (https://aur.archlinux.org/packages/tsc), but I don't know whether it is up-to-date.

As for adding CEGUI as a Git submodule, I don't want to do that. We've had disputes with Debian packagers on submoduling in the past and they're appearently an effective way to prevent inclusion of your software into the Debian repositories. Kirbyfan has been working on Flatpak support to ease the situation for everyone as far as I remember. Thus I try to keep the number of Git submodules as low as possible.

TSC 3 is not going to use CEGUI anymore anyway, because we as the TSC developers already agreed that building CEGUI is too difficult for most people. TSC 3 will use nuklear instead (which is included by design anyway).

Marvin

-- Blog: https://mg.guelker.eu PGP/GPG ID: F1D8799FBCC8BC4F