[Scummvm-devel] CMake build system for ScummVM

Miguel Bernabeu mukik182 at gmail.com
Thu May 5 22:08:02 CEST 2011


Thank you for answering.

I think that TODO item is pretty outdated, our configure/make based build
> system is working well for us and is flexible enough too. I am not sure how
> good CMake is for cross compiling to the more strange platforms out there.
> Apart we have create_project nowadays, which can create MSVC project files
> out of our configure/make based build system and furthermore features a more
> sane project layout than CMake did last time I used it.
>
> Personally I see no big use for a CMake based build system now, especially
> when it would be an additional system to use, since that would require us to
> maintain two systems (again). Maybe others have a different opinion here
> though.


If your make system is good enough I also find it isn't needed. I assumed
you needed to maintain separated build systems for different platforms. I
was intending to provide a general substitution, not another system to
maintain.

As far as I know, CMake supports natively Windows, Linux, Mac, and Symbian.
I've also seen projects building for iPhone and Android. I assume the other
platforms can be ported/adapted for CMake too. (Note: It seems WinCE too,
not officially:

 The WinCE port of WebKit <http://webkit.org/> uses a patched version of
> CMake to generate project files (see WebKit Wiki<http://trac.webkit.org/wiki/WinCE#CMake>
> ).


Another benefit is packaging, as once the project is configured with CMake
is "easy" for CMake to package it as you like: NSIS, deb, rpm, tar, zip,
tgz,


> - The header templates (which macros to be set: names and values or where
>> to find them).
>
> I am not sure what you mean by header templates, but maybe this is what you
> are looking for: http://wiki.scummvm.org/index.php/Defines?


I was mainly referring to that, thank you. I was specifically talking about
version.h.in and the config.h.in which are created or populated in configure
step.

All that was to explain my motives. Obviously if you are happy and
comfortable with your system the best is to keep it as it is :).

Hear from you soon,
Miguel

2011/5/5 Johannes Schickel <lordhoto at scummvm.org>

>  Seems so far nobody replied to this, so I'll do it now.
>
>
>
> On 04/29/2011 01:24 PM, Miguel Bernabeu wrote:
>
> I've been using ScummVM for a while and wanted to contribute to the
> project. I found a mention to CMake support in your TODO list in the wiki
> and decided to try to tackle it as I've been using basic CMake for a while
> now. I posted on the forums and Julien addressed me here.
>
>
> I think that TODO item is pretty outdated, our configure/make based build
> system is working well for us and is flexible enough too. I am not sure how
> good CMake is for cross compiling to the more strange platforms out there.
> Apart we have create_project nowadays, which can create MSVC project files
> out of our configure/make based build system and furthermore features a more
> sane project layout than CMake did last time I used it.
>
> Personally I see no big use for a CMake based build system now, especially
> when it would be an additional system to use, since that would require us to
> maintain two systems (again). Maybe others have a different opinion here
> though.
>
>
>  In the TODO list it says you want to test if it's worth it so my idea is
> to provide you a very minimal CMake build for some games (Fly of the Amazon
> Queen and Beneath a Steel Sky which can be freely downloaded to test) and
> Linux only and let you see if you want to expand it further or drop it. My
> work is on github https://github.com/miguelbernadi/scummvm/tree/CMake
>
> Things I need to know:
> - Need to know all dependencies, I have several listed but I would need a
> complete list (I couldn't find one)
>
>
> The configure script should contain a list of all supported external
> libraries.
>
>
>  - Which dependencies are a MUST have and which are optional.  <-- Right
> now I think is SDL only
>
>
> That pretty much depends on the system you compile for, but for Unix and
> Windows SDL should be the only real requirement yes.
>
>
>
>  - How many and which config options are desirable. <-- For users building
> and for developers in Advanced Properties
>
>
> If we want a CMake system probably the same as our configure script offers.
>
>
>  - The header templates (which macros to be set: names and values or where
> to find them).
>
>
> I am not sure what you mean by header templates, but maybe this is what you
> are looking for: http://wiki.scummvm.org/index.php/Defines ?
>
> // Johannes
>
>
> ------------------------------------------------------------------------------
> WhatsUp Gold - Download Free Network Management Software
> The most intuitive, comprehensive, and cost-effective network
> management toolset available today.  Delivers lowest initial
> acquisition cost and overall TCO of any competing solution.
> http://p.sf.net/sfu/whatsupgold-sd
> _______________________________________________
> Scummvm-devel mailing list
> Scummvm-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/scummvm-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scummvm.org/pipermail/scummvm-devel/attachments/20110505/fa6766a0/attachment.html>


More information about the Scummvm-devel mailing list