taskWarmux - Tasks: task #5923, Cmake or autotools

Show feedback again

You are not allowed to post comments on this tracker with your current authentification level.

task #5923: Cmake or autotools

Submitted by:  CARRE <yekcim>
Submitted on:  Wed Apr 23 20:16:35 2008  
Should Start On: Wed Apr 23 00:00:00 2008Should be Finished on: Mon Jul 14 00:00:00 2008
Category: compilationPriority: 3 - Low
Status: In ProgressPercent Complete: 50%
Assigned to: Yoann <plorf>Open/Closed: Open

(Jump to the original submission Jump to the original submission)

Wed Dec 24 20:11:35 2008, SVN revision 5533:

task #5923: added cmake support to box2d, loosely based on drayan's version

(Browse SVN revision 5533)

Jaka Kranjc <lynxlynxlynx>
Project Member
Wed Dec 24 19:13:40 2008, SVN revision 5532:

more work on task #5923: cmake for libwormux and libwormux-server (lib!?)

(Browse SVN revision 5532)

Jaka Kranjc <lynxlynxlynx>
Project Member
Tue Dec 23 19:44:19 2008, comment #23:

I'm almost done adding cmake support to the new lib/ stuff. Then comes box2d. I was oblivious to all this, since I already had the libs built from before.

For translations to work, you need to do a make install, just like with autotools (I suggest you set -DPREFIX for testing).

Jaka Kranjc <lynxlynxlynx>
Project Member
Wed Dec 17 09:10:54 2008, comment #22:

Sure, I can help. I mostly work on cmake only when you need something. ;) Like I've started the dedicated server file.

No build problems here with the new physical engine, but I'll check if anything has changed. My dev machine is without net access though, so it'll have to wait a bit.

Jaka Kranjc <lynxlynxlynx>
Project Member
Wed Dec 17 08:02:58 2008, comment #21:


I've got problems using cmake and the new physical engine, moreover languages are not running at all :/

Do you tink we can easily fix it ?
Or should i go back to autotools build scripts ? :s

I want to get few scripts :
- One to build a platform dependant release (like now)
- One to automatically build an universal package
but it's my business, need to have universal libs :)

Lynxlynxlynx i hope during this holiday (end of december) we can work together in order to make it run :)

Yoann <plorf>
Project MemberIn charge of this item.
Sat Sep 6 17:52:54 2008, comment #20:

the docs are installed now.

Jaka Kranjc <lynxlynxlynx>
Project Member
Sat Sep 6 16:38:48 2008, comment #19:

Todo :
- fix a small bug : translations not use by app but there into package :/
- clean script

You can launch the script :
with --help
with -j<x> where x is the number of threads
with universal in order to build a package for both ppc and intel

Yoann <plorf>
Project MemberIn charge of this item.
Tue Jul 1 08:21:27 2008, comment #18:

Using cmake we can easily do universal builds !

Todo list :
- Add the build of a dmg file (from old snaggle files)
- Detected the number of core in order to set make -j<nbcores> for accelerate compilation
- Check for optimization flags (it has been reported than cmake is less optimized than autotools)
- clean a few mac_cmake/build
- Fix locale problem

Yoann <plorf>
Project MemberIn charge of this item.
Fri Jun 27 14:00:36 2008, comment #17:

Actually :
We almost can do Universal Builds on the same computer
We can generate a .dmg file (like an archive under mac)

Remain :
Discover a bug with icons
Locales files
Clean cmake_build.sh sourcecode

Yoann <plorf>
Project MemberIn charge of this item.
Tue Jun 3 17:55:19 2008, comment #16:

I'm working on it ... slowly. Currently the translations aren't compiled at all due to some bug(s), so there's nothing to copy.

Jaka Kranjc <lynxlynxlynx>
Project Member
Tue Jun 3 08:40:56 2008, comment #15:

On mac :
cmake runs quite well,
we still have a problem,
I don't know how get data/ locale/ files in order to have them good.

I'm ok for compiling them twice if i can get them :p

And after we'll have to make package file and .tar.bz2 (but it's quite easy)

Yoann <plorf>
Project MemberIn charge of this item.
Wed May 28 20:08:29 2008, comment #14:

I need a compiling system dev for helping me :).
Maybe lynxlynxlynx ?

In order to using only cmake instead of autotools.

I need to copy files from /usr/share/locale.
But i don't want this. I want to compile them directly into my .app or into one of my two temporary folders.

Contact me by mail, or take a look at /mac/cmake_build.sh (line 69 to 87)

Actually the game is running without them but only english is available.
(In package we use Auria locales file, (she do make install but i don't want to)).

Maybe you can explain me how to compile locale files and deps, in order to make me able to copy them.

Thanks :)

Yoann <plorf>
Project MemberIn charge of this item.
Sun May 18 08:35:26 2008, comment #13:

There are two existing targets that call cpack
make package_source # seems to pack everything in the tree
make package # creates an archive with the binary, icon and desktop file

Jaka Kranjc <lynxlynxlynx>
Project Member
Sat May 17 22:40:17 2008, comment #12:

- "cpack -G TBZ2 -C CPackConfig.cmake" creates an archive that does not contains doc/, INSTALL, README, ...
- "cpack -G TBZ2 -C CPackSourceConfig.cmake" creates an archive that does not contains the source files!!!

This is a bit dishonest, as people have to add much files to Makefile.am's EXTRA_DIST (INSTALL and README don't need to). But indeed, until such necessary features (in particular the gmo stuff) are available with the cmake project files, the autotools rule.

So far, we have linux and osx compiling with cmake. Tests under another bsd and windows are important too. I'll try to test the later case.

Kurosu <kurosu>
Project Administrator
Sat May 17 19:03:55 2008, comment #11:

these are just implementation problems that we can fix. I'll try to do that myself.

Jaka Kranjc <lynxlynxlynx>
Project Member
Sat May 17 12:00:09 2008, comment #10:

I give a try to cmake this morning.

What is good:
- compilation from outside dir: it does not put temporary files in the source directory. Moreover, it's allowing to build a debug version and a nodebug version from the same source directory
- seems easier to understand than autotools

What is bad:
- "cpack -G TBZ2 -C CPackConfig.cmake" creates an archive that does not contains doc/, INSTALL, README, ...
- "cpack -G TBZ2 -C CPackSourceConfig.cmake" creates an archive that does not contains the source files!!!
It's absolutely NOT equivalent to make dist-bzip2!!
- flag -Wextra is not added to build flag if g++ support it. (g++ previous to g++3.2 or 3.1 does not support flag -Wextra)
- make does not generate the .gmo files from the .po

Matthieu Fertré <gentildemon>
Project Administrator
Sat May 17 10:08:17 2008, comment #9:

We are working with Auria to make only a cmake install under Mac Os X.

So autotools will be soon useless for us :)

Yoann <plorf>
Project MemberIn charge of this item.
Thu May 1 14:24:43 2008, comment #8:

I don't know why, but I doubt it is a real problem. Somehow it appended linux to CPACK_PACKAGE_FILE_NAME, which is easy to override.

Jaka Kranjc <lynxlynxlynx>
Project Member
Thu May 1 09:39:43 2008, comment #7:

> CPack: Package /lgames/wormux/cmake-build/Wormux-0.8.svn-Linux.tar.bz2 generated.

Why the generated archive is called Wormux-0.8.svn-Linux.tar.bz2 ? A source archive is plateform independant, I don't understand why there is 'Linux' in the name.

Matthieu Fertré <gentildemon>
Project Administrator
Tue Apr 29 09:36:42 2008, comment #6:

Cmake can generate both msvc and kdevelop projects (-G "generator"), but I didn't try either.

Jaka Kranjc <lynxlynxlynx>
Project Member
Tue Apr 29 09:04:09 2008, comment #5:

cmake is available under windows, so this shouldn't be a problem. Anyway, I am also maintaining the MSVC port (*MUCH* MUCH easier for debugging than gdb, in particular in windows).

drayan had contributed a kdevelop projet (at the root of the svn, not inside trunk or elsewhere) also. But indeed, the build system has always been an important matter...

I have no real opinion on the matter, even if I was mostly dealing with the autotools stuff, and forgetting about cmake.

Kurosu <kurosu>
Project Administrator
Sat Apr 26 16:46:39 2008, comment #4:

A bit more wormux info is in notes on the initial implementation by deki:

Jaka Kranjc <lynxlynxlynx>
Project Member
Sat Apr 26 16:37:41 2008, comment #3:

Apparently cmake stands for cross platform make. :) It even has some cross compiling support.

more info here (see bottom):

It also turns out it has an inbuilt "make dist" - cpack.

navaden@lynxlynx cmake-build 0 $ cpack -G TBZ2 -C CPackConfig.cmake
CPack: Create package using TBZ2
CPack: Install projects
CPack: - Run preinstall target for: Wormux
CPack: - Install project: Wormux
CPack: - Strip files
CPack: Compress package
CPack: Finalize package
CPack: Package /lgames/wormux/cmake-build/Wormux-0.8.svn-Linux.tar.bz2 generated.

Jaka Kranjc <lynxlynxlynx>
Project Member
Sat Apr 26 16:01:14 2008, comment #2:

I made some changes to the cmake system, so no modifications are needed when adding new files (as opposed to autotools). It doesn't have a tarball generator yet though, but I'd be willing to make it happen if we choose cmake over autotools.

The question is whether cmake is portable enough (I don't know much about this, but KDE seems to be using it successfully on win and mac too). As for other aspects I think it is a very viable replacement for the autotools voodoo.

Jaka Kranjc <lynxlynxlynx>
Project Member
Wed Apr 23 20:19:44 2008, comment #1:

For me, the choice should be given to packagers...

Currently, for source code packaging, we use autotools:
make dist-bzip2

Matthieu Fertré <gentildemon>
Project Administrator
Wed Apr 23 20:16:35 2008, original submission:

We have to make a choice ! Too much work...

CARRE <yekcim>
Project Administrator


No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by plorf (Posted a comment)
  • -unavailable- added by kurosu (Posted a comment)
  • -unavailable- added by lynxlynxlynx (Posted a comment)
  • -unavailable- added by gentildemon (Posted a comment)
  • -unavailable- added by yekcim (Submitted the item)

    Error: not logged in



    Follow 8 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue Jul 1 08:21:27 2008plorfPercent Complete40%=>50%
    Fri Jun 27 14:00:36 2008plorfShould be Finished onMon Jun 23 00:00:00 2008=>Mon Jul 14 00:00:00 2008
      Priority1 - Later=>3 - Low
      Percent Complete30%=>40%
    Tue Jun 3 08:40:55 2008plorfPercent Complete20%=>30%
    Wed May 28 20:08:29 2008plorfShould be Finished onWed Apr 23 00:00:00 2008=>Mon Jun 23 00:00:00 2008
      StatusNone=>In Progress
      Percent Complete0%=>20%
    Show feedback again

    Back to the top

    Powered by Savane 3.1-cleanup