osdir.com
mailing list archive

Subject: Re: Freecell Solver's Test Suite + Conversion to CMake - msg#00000

List: culture.hackers.israel

Date: Next Index Thread: Next Index
Was this page helpful?
Yes No
Thread at a glance:

Next Message by Date: click to view message preview

Re: Freecell Solver's Test Suite + Conversion to CMake

Hi Nadav! On Monday 04 August 2008, Nadav Har'El wrote: > On Thu, Jul 31, 2008, Shlomi Fish wrote about "[hackers-il] Freecell Solver's Test Suite + Conversion to CMake": > > I recently resumed work on Freecell Solver (FCS) somewhat more > > intensively. Having gotten tired of Autoconf/Automake/Libtool (a.k.a > > Autohell), I decided to convert to CMake ( http://www.cmake.org/ ) for > > its configuration stage. > > Hi Shlomi, can you please tell us a bit about this "CMake", of which I have > to admit I never heard? Well, I have mentioned it in passing in the Haifux mailing list in relevance to the Autotools presentation: http://hamakor.org.il/pipermail/haifux/2008-July/000356.html And Artium mentioned it on his blog: http://art-blog.no-ip.info/newpress/blog/post/146 You can also read about it in the Wikipedia: http://en.wikipedia.org/wiki/CMake > What makes it better than autoconf (forget > automake, I consider it cosmetics) - at least for you? Does it have any > downsides compared to autoconf? OK, here are the advantages as I see them: 1. Its files are written in a consistent high-level language, whose interpreter is written in C++. This is instead of Autoconf's m4-generating-Bourne-shell setup, where both m4 and /bin/sh are quirky and get broken very easily. 2. Configuration and compilation are much faster than in Autoconf, yielding a faster development process. 3. It has a BSD License instead of the Autotools' GPL (which may not be very relevant, but it's still a nice bonus). 4. It causes much less unexpected problems and regressions than Autoconf. Autoconf requires constant maintenance, while CMake tends to keep very good backwards compatibility. 5. It has some user-interfaces for the configuration: ccmake (Curses-based), cmake-gui (Qt/Win32), etc. 6. It merges in the functionality of Automake and libtool, both in a more consistent and less error-prone way. 7. CMake contains CPack, which allows to prepare source and binary distributions of the projects with ease. 8. It also supports CTest which is an interface to an automated testing framework. 9. Has native support for Win32. 10. Since CMake is installed separately on the system, the source pacakges are smaller. I was able to reduce the size of the FCS tar.gz from over 500,000 bytes to slightly above 200,000 bytes. ----------------- As for the downsides, Artium mentioned them in his blog: http://art-blog.no-ip.info/newpress/blog/post/146 1. No support for "make uninstall". http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F 2. No support for building both static and shared libraries. http://xrl.us/omn7i 3. Poor documentation (I personally feel that the Autotools documentation is much worse). 4. Inadequate Defaults (building a debug version without optimisation as default). --------------- Personally, I feel that CMake is still better. > > For reference, here is what I use autoconf for. In the (good?) old days, > not all machines I had access to were PCs with Intel CPUs running Linux. > I found myself compiling the same program I wrote on Linux, Solaris, > DEC Alpha, AIX, Silicon Graphics, and AT&T System 5, all in the same week. > And each of those systems had its own compiler peculiarity, different > installed software, library differences, and most notorious - compiler bugs > (demonstrating, by the way, the point that free software *does* have fewer > bugs). This is where autoconf came in extremely handy. Does CMake also > aim to help you in this scenario - of people who don't use Windows or > Linux? Yes, it does. Reading from the wikipedia: {{{{{{{{{{{{ Support for cross-platform builds, and known to work on Linux, other POSIX systems (including AIX, *BSD systems, HP-UX, IRIX/SGI, MinGW/MSYS and Solaris), Mac OS X and Windows 95/98/NT/2000/XP, }}}}}}}}}}}} CMake is a GNU Autotools replacement, on everything that is implied from that. Regards, Shlomi Fish ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ Rethinking CPAN - http://xrl.us/bjn7p I met a guy in the bar, talked to her and she gave me her phone number. ------------------------------------ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/hackers-il/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/hackers-il/join (Yahoo! ID required) <*> To change settings via email: mailto:hackers-il-digest-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx mailto:hackers-il-fullfeatured-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx <*> To unsubscribe from this group, send an email to: hackers-il-unsubscribe-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

Next Message by Thread: click to view message preview

Re: Freecell Solver's Test Suite + Conversion to CMake

Hi Nadav! On Monday 04 August 2008, Nadav Har'El wrote: > On Thu, Jul 31, 2008, Shlomi Fish wrote about "[hackers-il] Freecell Solver's Test Suite + Conversion to CMake": > > I recently resumed work on Freecell Solver (FCS) somewhat more > > intensively. Having gotten tired of Autoconf/Automake/Libtool (a.k.a > > Autohell), I decided to convert to CMake ( http://www.cmake.org/ ) for > > its configuration stage. > > Hi Shlomi, can you please tell us a bit about this "CMake", of which I have > to admit I never heard? Well, I have mentioned it in passing in the Haifux mailing list in relevance to the Autotools presentation: http://hamakor.org.il/pipermail/haifux/2008-July/000356.html And Artium mentioned it on his blog: http://art-blog.no-ip.info/newpress/blog/post/146 You can also read about it in the Wikipedia: http://en.wikipedia.org/wiki/CMake > What makes it better than autoconf (forget > automake, I consider it cosmetics) - at least for you? Does it have any > downsides compared to autoconf? OK, here are the advantages as I see them: 1. Its files are written in a consistent high-level language, whose interpreter is written in C++. This is instead of Autoconf's m4-generating-Bourne-shell setup, where both m4 and /bin/sh are quirky and get broken very easily. 2. Configuration and compilation are much faster than in Autoconf, yielding a faster development process. 3. It has a BSD License instead of the Autotools' GPL (which may not be very relevant, but it's still a nice bonus). 4. It causes much less unexpected problems and regressions than Autoconf. Autoconf requires constant maintenance, while CMake tends to keep very good backwards compatibility. 5. It has some user-interfaces for the configuration: ccmake (Curses-based), cmake-gui (Qt/Win32), etc. 6. It merges in the functionality of Automake and libtool, both in a more consistent and less error-prone way. 7. CMake contains CPack, which allows to prepare source and binary distributions of the projects with ease. 8. It also supports CTest which is an interface to an automated testing framework. 9. Has native support for Win32. 10. Since CMake is installed separately on the system, the source pacakges are smaller. I was able to reduce the size of the FCS tar.gz from over 500,000 bytes to slightly above 200,000 bytes. ----------------- As for the downsides, Artium mentioned them in his blog: http://art-blog.no-ip.info/newpress/blog/post/146 1. No support for "make uninstall". http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F 2. No support for building both static and shared libraries. http://xrl.us/omn7i 3. Poor documentation (I personally feel that the Autotools documentation is much worse). 4. Inadequate Defaults (building a debug version without optimisation as default). --------------- Personally, I feel that CMake is still better. > > For reference, here is what I use autoconf for. In the (good?) old days, > not all machines I had access to were PCs with Intel CPUs running Linux. > I found myself compiling the same program I wrote on Linux, Solaris, > DEC Alpha, AIX, Silicon Graphics, and AT&T System 5, all in the same week. > And each of those systems had its own compiler peculiarity, different > installed software, library differences, and most notorious - compiler bugs > (demonstrating, by the way, the point that free software *does* have fewer > bugs). This is where autoconf came in extremely handy. Does CMake also > aim to help you in this scenario - of people who don't use Windows or > Linux? Yes, it does. Reading from the wikipedia: {{{{{{{{{{{{ Support for cross-platform builds, and known to work on Linux, other POSIX systems (including AIX, *BSD systems, HP-UX, IRIX/SGI, MinGW/MSYS and Solaris), Mac OS X and Windows 95/98/NT/2000/XP, }}}}}}}}}}}} CMake is a GNU Autotools replacement, on everything that is implied from that. Regards, Shlomi Fish ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ Rethinking CPAN - http://xrl.us/bjn7p I met a guy in the bar, talked to her and she gave me her phone number. ------------------------------------ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/hackers-il/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/hackers-il/join (Yahoo! ID required) <*> To change settings via email: mailto:hackers-il-digest-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx mailto:hackers-il-fullfeatured-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx <*> To unsubscribe from this group, send an email to: hackers-il-unsubscribe-hHKSG33TihhbjbujkaE4pw@xxxxxxxxxxxxxxxx <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
Sign up for updates to this mailing list. email:
Loading Comments...
Home | News | Patents | Sitemap | FAQ | advertise

Advertising by