Aaron Turner wrote:
Trying to get up to speed on this thread- apologies if I missed this.

Long story short, as an OSS developer and new Cmake user, I'm less
interested in getting libfoo building with Cmake and a lot more
interested in CMake modules for detecting and using libfoo in my own
project.  In reality, these are very much interrelated, but let me
explain....

A lot of the things I take for granted in Autotools requires me to
roll my own in Cmake; which when you have a number of dependencies is
daunting when you consider all the issues with different platforms &
library versions.  I think this is one of the biggest roadblocks for
people to switch to Cmake- knowing that they're leaving behind years
of tribal knowledge which has been created in Autoconf scripts.

If there was an equivalent of the Autoconf Macro Archive
(http://autoconf-archive.cryp.to/) for Cmake, which was a collection
of common tests I think that would help a great deal.  Obviously,
Cmake already includes some of these sorts of tests for GUI toolkits
and libraries of that nature, but obviously there are a lot of obvious
holes in the list (gmp, pcre, (win)pcap, etc).  Also there are a
number of system capability tests missing like checking for strictly
aligned memory.

I'm currently having to write modules for a number of these cases and
it's a lot of work.  Honestly, it is more work then just porting my
code from Autotools to Cmake because I'm already an expert on my code
and how it compiles- trying to become an expert on these other
libraries and systems is a lot more effort.

Honestly, I think in the long run, improving the existing standard
library of Cmake modules to allow developers to concentrate on how to
build their own code rather then figure out how to link to various
libraries and write portability tests will win grow the Cmake user
base much faster.

That is really a separate issue. The Modules directory in CMake is addressing that, and I think there is a google code project that has some CMake find stuff as well. The problem this is addressing is an easy way to build some libraries that maybe difficult to currently build on windows. I think that was at the start of the thread. For linux and other Unix like platforms ./configure; make; make install, then run cmake and have it find the installed stuff works great. For windows this requires cygwin, and lots of work. If the projects had cmake files the build on windows would be much easier, and by using add_subdirectory the projects are easy to build.

But a http://autoconf-archive.cryp.to/ type archive for CMake modules would also be a good idea.

-Bill

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to