Skip to main content

User login

What is OpenID?
  • Log in using OpenID
  • Cancel OpenID login
  • Create new account
  • Request new password
Register
  • Home
  • Browse
    • 2D Art
    • 3D Art
    • Concept Art
    • Textures
    • Music
    • Sound Effects
    • Documents
    • Featured Tutorials
  • Submit Art
  • Collect
    • My Collections
    • Art Collections
  • Forums
  • FAQ
  • Leaderboards
    • All Time
      • Total Points
      • Comments
      • Favorites (All)
      • Favorites (2D)
      • Favorites (3D)
      • Favorites (Concept Art)
      • Favorites (Music)
      • Favorites (Sound)
      • Favorites (Textures)
    • Weekly
      • Total Points
      • Comments
      • Favorites (All)
      • Favorites (2D)
      • Favorites (3D)
      • Favorites (Concept Art)
      • Favorites (Music)
      • Favorites (Sound)
      • Favorites (Textures)
  • ❤ Donate
FLARE [ARCHIVED]

Building From Source - Advice Requested

Clint Bellanger
Tuesday, March 1, 2011 - 14:35
Clint Bellanger's picture

All,

I've gotten several contacts from people suggesting ways to make building from source easier.

Most of the suggestions use make, plus some other utility run before make -- e.g. cmake, or autoconf/automake.  Others have suggested using something like openSuse BUILD Service.  I know how to do simple makefiles.  My game currently requires the development libraries for SDL, SDL_image, and SDL_mixer to compile, so helping the user get those installed is nice.

Those of you who download and compile/play many games on linux: what method do you expect/prefer?

Thanks!

  • Log in or register to post comments
johndh
joined 14 years 7 months ago
Tuesday, March 1, 2011 - 15:10
johndh's picture

As far as compiling, I really only have much experience with the various forks of Glest, which use cmake, usually with some optional paramaters for the location of config files and data, etc.  Megaglest even has a script for it included in the download.

For pre-compiled, *.deb packages are extremely convenient for users of Debian-based Linuces like Ubuntu and Mint, but that's not something I have experience making.

  • Log in or register to post comments
ceninan
joined 16 years 1 month ago
Tuesday, March 1, 2011 - 15:38
ceninan's picture

Honestly? A README and possibly a helper script. A "proper" build system will help by reminding the user when they are missing dependencies, but unless you need the flexibility I say RTFM :).

For distribution a .deb would be cool.

  • Log in or register to post comments
ceninan
joined 16 years 1 month ago
Tuesday, March 1, 2011 - 15:39
ceninan's picture

Honestly? A README and possibly a helper script. A "proper" build system will help by reminding the user when they are missing dependencies, but unless you need the flexibility I say RTFM :).

For distribution a .deb would be cool.

  • Log in or register to post comments
Tartos
joined 14 years 8 months ago
Wednesday, March 2, 2011 - 01:48

Prefered method : a .deb :)

If I had to compile it, then a makefile. And to generate I would recommand cmake because I was a noob at generating makefiles and learnt cmake easily. Peoples in my lab who do crossplatform C++ all use cmake too.

  • Log in or register to post comments
farrer
joined 14 years 3 months ago
Wednesday, March 2, 2011 - 04:10
farrer's picture

I usually prefer autoconf+automake. But I see no problem using cmake either.

For packages (.deb, .ebuild, .rpm, etc) let the community make them to you, otherwise you will have always to answer complains like: "Why do you support distribution XYZ and not YZK?" "Why do you not support architecture X at your package?", etc.

  • Log in or register to post comments
pennomi
joined 14 years 7 months ago
Wednesday, March 2, 2011 - 12:26
pennomi's picture

I wrote two .sh scripts that should first fetch all the FLARE dependencies (untested, I think I got them all!) and second checkout and compile the code from the source in the svn repository (works like a charm!). These scripts will only work if your particular Linux distro supports sudo and apt-get (Ubuntu for instance).

get_FLARE_dependencies.sh: http://ubuntuone.com/p/fpb/

update_and_compile_FLARE.sh: http://ubuntuone.com/p/fpd/

Before running either of these scripts, you have to chmod them to be executable.

Naturally, you only have to get the dependencies once. Every time there's a new revision available, you can run update_and_compile_FLARE.sh to run the latest version available.

pfunked: If you want, I'll make a .sh script like the above to include with your source code download for Ubuntu users.

  • Log in or register to post comments
ceninan
joined 16 years 1 month ago
Wednesday, March 2, 2011 - 13:53
ceninan's picture

pennomi: I think that's all the dependencies, or at least what I installed on a clean Ubuntu install in order to build it.

  • Log in or register to post comments
thebohemian
joined 14 years 2 months ago
Sunday, March 6, 2011 - 05:31

Hi guys,

I've knowledge in the following areas:

- sw development on GNU/Linux

- building stuff from source using make, autotools, cmake

- maintaining build support in a project using GNU Autools and CMake

- Debian packaging (I mean the real thing: debian.org/doc/maint-guide not just randomly putting stuff into an archive and calling it foo.deb)

- cross-compiliing in general, maintaining build recipes in OpenEmbedded

- maintaining the support for CMake in OpenEmbedded

 

From my perspective flare is best served by using a build system based on CMake because:

- very good support for CMake in all free OSes, Debian/Fedora/XYZ packager can help making the build system better

- clear support for cross-compiling

- CMake uses a modern and intuitive syntax and its online documentation is good

- CMake supports those 'other' operating systems and their proprietary development environments very well (nobody is excluded)

- CMake is used by other important F/OSS game projects (namely Wesnoth) and those can be used to look for best practices

 

A few words regarding autotools:

- very good build system; serves important need; very stable

- unfortunately *widely* misunderstood and used in appropriate ways

- AFAIK difficult to handle for Windows people

 

My 2€ cents. People can find a patch adding a CMake-based build system to flare here: code.google.com/p/flare-engine/issues/detail?id=1

Regards,
Robert

  • Log in or register to post comments
Spell (not verified)
joined 0 sec ago
127.0.0.1
Sunday, March 6, 2011 - 05:37

You should take a look at CMake. It's easy to learn, easy to maintain and has quite many usefull features.Also its cross platform and supports many compilers and IDE's, that means that it can be used one and the same on Windows, Mac and Linux, no matter how the person likes to build his applications..

autotools is just outdated and totally sluggish. "Simply" writing an bash script for that kind of task tends to be problematic to maintain.

Things like the openSUSE Build Service (packaging in general, like providing RPMs or DEBs) are an totally different piece of cake. You shouldn't take on that (yet), there are better things to spend time on. It's nothing required at this stage of the project and it's usually managed by the people of the specific distribution, not by the developers themselves.

  • Log in or register to post comments