On 2013-12-02 20:58-0500 Michael Jackson wrote:

I need to implement a "test" that does an installation of my project
into a location and then check that all the files indeed got installed
or if there are any errors during the installation. Is there a "best
practice" way of achieving this with CMake? Does CMake itself do
something like this in their own test suite?

Hi Michael:

I advocate testing the install tree by running the same set of tests
for that tree as you do for the source tree. Here is how I have
implemented that idea with PLplot.

We test PLplot with a set of 34 standard examples written in the 14
different computer languages we support. When we install that examples
sub-tree we also install the CMakeLists.txt files in that sub-tree as
well as a top-level CMakeLists.txt file that is specific just to the
installed examples case. Inside those files we distinguish between the
core build and installed examples build with the CORE_BUILD variable
to allow different CMake logic when necessary in the two cases.  But
most of the CMake logic in those files is identical for the two cases.
So the big advantage of organizing tests this way is every time I
write a new test, it is automatically available in the build tree
corresponding to the core build system and the completely separate
build tree for the installed examples build system.

To get back to your original question, if your install tree passes all
the tests that you have dreamed up over the years for you source tree,
then, pretty much by definition, that proves your install tree has
been installed correctly.

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); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________
--

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Reply via email to