[CMake] [ANN] 'make dist(check)' support

Alan W. Irwin irwin at beluga.phys.uvic.ca
Fri Dec 29 19:11:44 EST 2006


Enrico wrote:

> Due to the last item, these targets are not so powerful and easy to use
like their 'automake' counterparts. But they are an huge improvement to
the current situation where there is nearly no support for creating
source tarballs.

In fact it is easy to create source distribution tarballs with CPack.  The
documentation is pretty sparse, but you should look at everything to do with
CPACK_SOURCE in (http://www.cmake.org/Wiki/CMake:Packaging_With_CPack).
That site mentions the package target (for creating binary distributions),
but fails to mention the package_source target for creating source
distributions.  Would somebody with access to the Wiki straighten that
problem out?  Also, cpack --help-full is pretty empty right now, and I
hope that issue is addressed as well.

Enrico, to see a working example, have a look at the top-level
CMakeLists.txt file of the CMake or PLplot source trees.  Some of those
CPACK related variables have to do with a binary release, but some have to
do with a source release, e.g., CPACK_SOURCE_IGNORE_FILES gives you complete
regex control of what is excluded from the source tree for the source
tarball.

After the usual cmake command, type the command "make package_source"
to create the compressed source tarball.  PLplot has used that method to
create our last two source releases, and it works quite well.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the Yorick front-end to PLplot (yplot.sf.net); the
Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the CMake mailing list