[CMake] Configuration under CMake 3.10.1 fails but succeeds with 3.9.6

Alan W. Irwin irwin at beluga.phys.uvic.ca
Thu Dec 14 14:54:05 EST 2017


On 2017-12-14 13:51-0500 Michael Jackson wrote:

> I just tried out the latest CMake release 3.10.1 and it fails to configure (from a clean build directory) our project where CMake 3.9.x and below (down to CMake 3.7.x) configures it completely and correctly. The configure error I get is"
>
> -- Configuring done
> CMake Error in /Users/mjackson/Workspace/DREAM3D_Plugins/AskNDEToolbox/Applications/ScanViewer/CMakeLists.txt:
>  Cannot find source file:
>
>    /Users/mjackson/Workspace/DREAM3D-Build/3.10.1/Plugins/AskNDEToolbox/qrc_AskNDEToolbox.cpp
>
>  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
>  .hxx .in .txx
>

> Now, the funny thing about this is that nowhere in the CMakeLists
files for the "ScaneViewer" application should it be adding the
generated qrc_AskNDEToolbox.cpp file. That file is added higher up in
the heirarchy of projects, but not that particular application. Does
anyone have any thoughts on this issue?

Hi Michael:

This is just speculation but I wonder if you are inheriting a property
from higher in the directory tree, that you weren't inheriting before?

By the way, once you solve this, I would recommend for your peace of
mind that you arrange with the CMake developers for a contract test
for your project.  See examples of this in Tests/Contracts in the git
master branch of CMake where such contract tests have already been
enabled for PLplot, Trilinos, and VTK.  The idea of such contracts is
you configure your computer to automatically build and test the staged
version of CMake (the version the CMake developers want to be
thoroughly tested that typically changes from one night to the next). 
And one of those tests is the contract test you configure where you
build some version of your project (that you change from time to time
to some recent well-tested version such as your latest release).

The results of such tests are automatically reported at
<https://open.cdash.org/index.php?project=CMake>.  Note, my recent
"raven" results there demonstrate success for all CMake tests including
"Contracts.PLplot".  Both the PLplot and CMake software projects
benefit from this "contract".  I am assured I get early warning of any
bad interactions between staged CMake changes and the build system for
my software (such as you discovered above), and the CMake developers
get some real build-system testing (as opposed to their usual unit
tests which obviously found no issues with 3.10.1) of the staged version of
CMake that they need to test to evaluate what commits from their
staged version get into the next release.

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
__________________________


More information about the CMake mailing list