Use CMake?

Ideas and suggestions for how to improve the Warzone 2100 base game only. Ideas for mods go in Mapping/Modding instead. Read sticky posts first!
User avatar
Emdek
Regular
Regular
Posts: 1329
Joined: 24 Jan 2010, 13:14
Location: Poland

Use CMake?

Post by Emdek »

I'm interested what developers thing about porting to CMake, was it taken into account?
It's used by more and more projects now...
In case if someone would create patch would it be considered to merge?
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.


Beware! Mad Qt Evangelist.
stiv
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 876
Joined: 18 Jul 2008, 04:41
Location: 45N 86W

Re: Use CMake?

Post by stiv »

It would be a lot of work and at the end of the day, you could build warzone - just like now.

By 'patch', do you mean cmake working for all our supported platforms or cmake working for your system? The answer to the first is possibly. The answer to the second is probably not.
User avatar
Emdek
Regular
Regular
Posts: 1329
Joined: 24 Jan 2010, 13:14
Location: Poland

Re: Use CMake?

Post by Emdek »

stiv wrote:It would be a lot of work and at the end of the day, you could build warzone - just like now.
I'm not sure if a lot, I've never ported any application to use it but I'm using it to create new.
The biggest task is probably to add files for finding some of libraries used by Warzone.
stiv wrote:By 'patch', do you mean cmake working for all our supported platforms or cmake working for your system? The answer to the first is possibly. The answer to the second is probably not.
CMake is cross platform so it should work on all platforms (but I can currently test it only on Linux). ;-)
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.


Beware! Mad Qt Evangelist.
cybersphinx
Inactive
Inactive
Posts: 1695
Joined: 01 Sep 2006, 19:17

Re: Use CMake?

Post by cybersphinx »

stiv wrote:It would be a lot of work and at the end of the day, you could build warzone - just like now.
Or maybe not even that, reportedly cmake is bad with cross-compiling.
User avatar
Emdek
Regular
Regular
Posts: 1329
Joined: 24 Jan 2010, 13:14
Location: Poland

Re: Use CMake?

Post by Emdek »

cybersphinx wrote:
stiv wrote:It would be a lot of work and at the end of the day, you could build warzone - just like now.
Or maybe not even that, reportedly cmake is bad with cross-compiling.
Someone tested it? There is article about this:
http://www.cmake.org/Wiki/CMake_Cross_Compiling

Anyway, I would like to try, at least to learn something, it would be also good way to learn something about game internals, so it could be useful when I'll finally start work on map editor. ;-)
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.


Beware! Mad Qt Evangelist.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 3780
Joined: 03 Aug 2006, 19:39

Re: Use CMake?

Post by Per »

You should talk to Safety0ff, he is already looking into it, and has at least my early port as a starting point already.
User avatar
Emdek
Regular
Regular
Posts: 1329
Joined: 24 Jan 2010, 13:14
Location: Poland

Re: Use CMake?

Post by Emdek »

Per wrote:You should talk to Safety0ff, he is already looking into it, and has at least my early port as a starting point already.
OK, but first I'll try myself from scratch, just for fun, and if will not work, then I'll ask. ;-)
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.


Beware! Mad Qt Evangelist.
stiv
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 876
Joined: 18 Jul 2008, 04:41
Location: 45N 86W

Re: Use CMake?

Post by stiv »

Emdek wrote:CMake is cross platform so it should work on all platforms (but I can currently test it only on Linux). ;-)
Sorry I wasn't clear. I did not mean cmake running on all our platforms. I meant having the configuration to build WZ with cmake on all our platforms. And by platforms, I mean Linux, Windows, OSX, *BSD, Solaris, OS/2 and VAX11/785. (ok, just kidding about the last few. except for OS/2 which Buginator loves)

Another important and often overlooked requirement for adopting a new features or build systems into a project is having someone to maintain them. Otherwise the shiny newness falls into disrepair and eventually gets dropped.
User avatar
Emdek
Regular
Regular
Posts: 1329
Joined: 24 Jan 2010, 13:14
Location: Poland

Re: Use CMake?

Post by Emdek »

stiv wrote:Another important and often overlooked requirement for adopting a new features or build systems into a project is having someone to maintain them. Otherwise the shiny newness falls into disrepair and eventually gets dropped.
As far as I know CMake is much simpler, and now autotools are fading away in most cases. ;-)
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.


Beware! Mad Qt Evangelist.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 3780
Joined: 03 Aug 2006, 19:39

Re: Use CMake?

Post by Per »

The main reason for changing build system must be that we can use it to make things simpler for us. That is, we do not have to maintain so many different build systems any more. If the Mac/MSVC/raw-makefile people are not willing to use CMake to create their builds, then I think CMake has little value. A lot of work has gone into the existing system, and it works, so we will not change without a good reason to do so.
User avatar
Buginator
Professional
Professional
Posts: 3285
Joined: 04 Nov 2007, 02:20

Re: Use CMake?

Post by Buginator »

stiv wrote: Sorry I wasn't clear. I did not mean cmake running on all our platforms. I meant having the configuration to build WZ with cmake on all our platforms. And by platforms, I mean Linux, Windows, OSX, *BSD, Solaris, OS/2 and VAX11/785. (ok, just kidding about the last few. except for OS/2 which Buginator loves)

Another important and often overlooked requirement for adopting a new features or build systems into a project is having someone to maintain them. Otherwise the shiny newness falls into disrepair and eventually gets dropped.
Ahh yes, where would I be without OS/2? :stressed:

I have to agree, while CMake may be nice, until someone actually makes a working project file that we can test, and see how easy it is to update, we won't really know if we should switch or not.
and it ends here.
User avatar
Emdek
Regular
Regular
Posts: 1329
Joined: 24 Jan 2010, 13:14
Location: Poland

Re: Use CMake?

Post by Emdek »

Buginator wrote:I have to agree, while CMake may be nice, until someone actually makes a working project file that we can test, and see how easy it is to update, we won't really know if we should switch or not.
Sure, working build system is my target. ;-)
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.


Beware! Mad Qt Evangelist.