[CMake] CVS CMake self-build and CPack - very nice!

Steve Johns steve.johns at verizon.net
Mon Jul 3 12:04:17 EDT 2006


This is a story post, and a thank-you post.

I recently built the CVS version of CMake for the first time, and then went
on to package it into a "personal binary distro" using CPack (and NSIS).
Here's how I did it.

I fetched the CVS version of CMake, and used my installed binary version of
CMake 2.4.2 to configure a build using the VC++ 7.1 compiler.  Then I built
it.  It built, the tests ran and all reported success (after I allowed curl
access to the net).  This all took place on Machine #1 (m1).

My application project is on Machine #2 (m2).  I wanted my CVS CMake
(reporting as CMake 2-5-0) to be on m2 so I could generate a build for my
app and hopefully get a particular desired compilation, specified entirely
 via the CMakelists.txt files.

I noticed this thing called CPack (!), and in searching out info about it,
discovered that the CMake 2-4-2 binary distro was prepared with CPack.
"Hmmm", I said, "wouldn't it be cool to package my own distro in order to
get CMake 2-5-0 onto m2."  So, that's the way I went and ultimately, after
learning about and downloading NSIS (
http://nsis.sourceforge.net/Main_Page ), I succeeded in creating a binary
installer, copying it over to m2, and installing my "home-built" CVS version
of CMake on m2.

Let me say, this is a wonderful set of tools!  They worked very smoothly
together (kudos to the CMake developers, whose CMakelists.txt files enabled
this), and I was very impressed at being able to follow this chain of
action, with no prior experience, over the course of a few hours.  A great
extra benefit will ultimately arise from studying how the developers
accomplished this, which will no doubt teach me alot of good practice about
how to do similar things for my own apps.

So, I'd like to say "Thank You" to all the folks who have clearly put in
alot of thought and work to create this end-to-end solution.  And for any
who have been hesitant about getting past simply using current binary distro
of CMake, I'd encourage you to take the plunge into compilation and
packaging whenever you might have a reason to (such as to get a developer
fix online right away).

That's it!







More information about the CMake mailing list