Re: CMake
"David Genest" <[email protected]> Fri, 16 May 2008 12:14:18 -0400
| Newsgroups | gmane.comp.documentation.synopsis |
|---|---|
| Message-ID | <[email protected]> |
--===============0663252022== Content-Type: multipart/alternative; boundary="----=_Part_8504_24178255.1210954458309" ------=_Part_8504_24178255.1210954458309 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Stefan, On Fri, May 16, 2008 at 10:21 AM, Stefan Seefeld <[email protected]> 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. ------=_Part_8504_24178255.1210954458309 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Stefan, <br><br><div class="gmail_quote">On Fri, May 16, 2008 at 10:21 AM, Stefan Seefeld <<a href="mailto:[email protected]">[email protected]</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div class="Ih2E3d"><br> </div>As far as I understand, CMake is itself a wrapper that delegates to<br> platform-specific build tools. Am I correct ?<br> How would it manage a Windows build ? What tools would it use there ?<br> </blockquote><div><br>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.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> I still believe it to be possible to adapt the current GNU-make based<br> system to build using a VC++ toolchain (something I have done for other<br> projects in the past successfully).<br> </blockquote><div> <br>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.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> I'm somewhat reluctant towards CMake, as it doesn't actually replace<br> 'make', but rather, abstract it. Thus, our hybrid build system would<br> become even more complex than it already is. But I'm open to be proven<br> wrong. :-)<br> </blockquote><div><br>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.<br> <br>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 :-). <br> <br>I will try porting the synopsis build system and give you feedback on my progress.<br><br></div></div>D.<br> ------=_Part_8504_24178255.1210954458309-- --===============0663252022== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Synopsis-devel mailing list [email protected] http://lists.fresco.org/cgi-bin/listinfo/synopsis-devel --===============0663252022==--