David Genest | 16 May 2008 18:14
Picon

Re: CMake

Stefan,

On Fri, May 16, 2008 at 10:21 AM, Stefan Seefeld <seefeld <at> sympatico.ca> wrote:

As far as I understand, CMake is itself a wrapper that delegates to
platform-specific build tools. Am I correct ?
How would it manage a Windows build ? What tools would it use there ?

I want to delve more into CMake, but yes, it is a kind of driver for the platform's build system (be it make-gcc, msdev on windows, cygwin, borland, eclipse, etc). You write once the auto-tools like scripts and all platforms are supported. This is where the power lies. There is no need to maintain autoconf files because CMake takes care of it.

I still believe it to be possible to adapt the current GNU-make based
system to build using a VC++ toolchain (something I have done for other
projects in the past successfully).
 
I know also that this is feasable, but the changes must occur inside make scripts which are friendlyer to UNIX environments. The maintaining of the different build types must occur inside make files and autoconf files. With the use of CMake, the maintenance is carried over to the CMakeLists.txt, for all platforms.

I'm somewhat reluctant towards CMake, as it doesn't actually replace
'make', but rather, abstract it. Thus, our hybrid build system would
become even more complex than it already is. But I'm open to be proven
wrong. :-)

The abstraction gives you more power on other platforms. CMake can manage tool discovery. IN fact, it replaces the automake + libtool + autoconf combination. I think in the end that it is a simplifying change.
 
Let me try and prove it to you... I have been told by a few people that CMake eliminates all the complexities involved in the autotools suite. I am very interested in learning CMake. One of the added benefits is that it can generate project files automatically, for the IDE loving developpers out there (that includes me :-).

I will try porting the synopsis build system and give you feedback on my progress.

D.
_______________________________________________
Synopsis-devel mailing list
Synopsis-devel <at> lists.fresco.org
http://lists.fresco.org/cgi-bin/listinfo/synopsis-devel

Gmane