Feature #842

Move building system to CMake for the Ryzom Client

Added by vl almost 9 years ago. Updated about 8 years ago.

Status:Closed Start date:05/06/2010
Priority:High Due date:
Assignee:sfb % Done:

100%

Category:Build
Target version:Version 0.8.0

Description

Move building system to CMake for the Ryzom Client

cmake_ryzom_default_options.patch (1.9 kB) Magnifier jayme, 05/11/2010 09:58 am

cmake-stuff.diff (7.6 kB) Magnifier ratmice, 05/11/2010 03:52 pm

History

#1 Updated by sfb almost 9 years ago

  • Category set to Build
  • Assignee set to sfb

Taking ownership of this issue.

#2 Updated by jayme almost 9 years ago

  • File cmake_ryzom_default_options.patch added

I have added some cmake default options for the ryzom build (they do not change the current default behaviour). Maybe they are usefull to somebody else...

#3 Updated by jayme almost 9 years ago

vhelsing wrote:

I have added some cmake default options for the ryzom build (they do not change the current default behaviour). Maybe they are usefull to somebody else...

Forgot to actually setup the default options...sorry

#4 Updated by vl almost 9 years ago

  • File deleted (cmake_ryzom_default_options.patch)

#5 Updated by kervala almost 9 years ago

Please could you add .pc (pkg-config) files generation in CMake build ? For the moment, they are generated from .pc.in files.

#6 Updated by ratmice almost 9 years ago

Ahh, I had missed this issue earlier when posting cmake issues.

so this patch adds searches for all the libraries necessary to link/run client to their appropriate places (on my machine anyhow)

this contains the patches for in issue #849 and issue #850, plus some new stuff...

#7 Updated by Krolock almost 9 years ago

  • File xf86vmode.diff added

cmake had some troubles to find xf86vmode. In Suse systems there is no xf86vm.h, so i changed the filename to xf86vmode.h in FindXF86VidMode.cmake. It worked on my system and it should also work on debian.

#8 Updated by kervala almost 9 years ago

On my laptop with Ubuntu 9.10 I also need to replace xf86vm.h by xf86vmode.h, that's strange...

#9 Updated by kervala almost 9 years ago

Patch "xf86vmode.diff" provided by Krolock on 19/05/2010 10:37 has been applied :) Thanks a lot :)

It fixes NeL compilation problem under Ubuntu 9.10 and before.

#10 Updated by kervala almost 9 years ago

  • File deleted (xf86vmode.diff)

#11 Updated by Krolock almost 9 years ago

After trying to fix this issue, my first idea was to look for both files "xf86vm.h" and "xf86vmode.h", but somebody said, this is not necessary, which resulted in this patch.
I talked to sfb one day after uploading it and he improved it, working with both files (i don't remember the cmake syntax). At the moment, i'm not sure if it works for somebody, who has xf86vm.h .
Looking into the release notes on xorg.freedesktop.org, it is the other way round. xf86vmode.h was renamed into xf86vm.h .
Perhaps, sfb can give some feedback here.

#12 Updated by kervala almost 9 years ago

Hum, when I compiled today under Ubuntu 9.10, it didn't find xf86vidmode at all, I couldn't launch Ryzom :(

So I don't think it was checking for both of them. Btw on Ubuntu 10.04, it provides both .h

#13 Updated by Krolock almost 9 years ago

Same here yesterday. I was wondering, because I thought this has been fixed already in a revision containing a patch we have discussed and tested 2 weeks ago. But apparently it's not.
If newer versions of xf86vidmode headers provide both headers, it' ok :) Anyhow it's not worse to check both files, is it?

#14 Updated by kervala almost 9 years ago

Yes, I think it could be better :)

#15 Updated by Krolock almost 9 years ago

  • File libwww.diff added

some w3c-libwww versions install their header files in a subfolder w3c-libwww. In FIND_PATH(LIBWWW_INCLUDE_DIR) the path_suffixes are done, but the path_suffixes in FIND_PATH(LIBWWW_ADDITIONAL_INCLUDE_DIR) are missing up to now.
The attached patch adds this line into libwww. cmake

#16 Updated by rti almost 9 years ago

The idea behind LIBWWW_ADDITIONAL_INCLUDE_DIR was a different one. As mentioned in the find script:

# when installing libwww on mac os x using macports the file wwwconf.h resides
# in /opt/local/include and not in the real libwww include dir :/

LIBWWW_ADDITIONAL_INCLUDE_DIR was only added to fix finding of wwwconf.h on Mac OS.
Adding path suffixes there would break this again.

@Krolock: what is the issue you wanted to fix with libwww.diff?

#17 Updated by Krolock almost 9 years ago

This one :)

Make Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LIBWWW_ADDITIONAL_INCLUDE_DIR
used as include directory in directory /home/roland/code/ryzom/client/src

-- Configuring incomplete, errors occurred!

btw: revision 308 killed dependencies to some needed libs.

/usr/lib/gcc/i586-suse-linux/4.4/../../../libwwwapp.so: undefined reference to `HTLoadFTP'
/usr/lib/gcc/i586-suse-linux/4.4/../../../libwwwapp.so: undefined reference to `HTNewsList'
/usr/lib/gcc/i586-suse-linux/4.4/../../../libwwwapp.so: undefined reference to `HTLoadGopher'
/usr/lib/gcc/i586-suse-linux/4.4/../../../libwwwapp.so: undefined reference to `HTXML_new'
/usr/lib/gcc/i586-suse-linux/4.4/../../../libwwwapp.so: undefined reference to `HTNewsGroup'
/usr/lib/gcc/i586-suse-linux/4.4/../../../libwwwapp.so: undefined reference to `HTLoadTelnet'
/usr/lib/gcc/i586-suse-linux/4.4/../../../libwwwapp.so: undefined reference to `HTLoadNews'
/usr/lib/gcc/i586-suse-linux/4.4/../../../libwwwapp.so: undefined reference to `HTZLib_inflate'

#18 Updated by rti almost 9 years ago

  • File deleted (libwww.diff)

#19 Updated by kervala over 8 years ago

  • Status changed from New to Assigned
  • Priority changed from Normal to High

Perhaps should we mark this issue as resolved and create a new one for server ?

#20 Updated by sfb about 8 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

Pretty much everything builds via CMake with the exception of some leveldesign tools. We will need to open specific issues for these tools.

Also available in: Atom PDF