[cmake-developers] A dashboard that reveals a ctest issue on Windows when there are no tests

Alan W. Irwin Alan.W.Irwin1234 at gmail.com
Wed Dec 5 17:01:46 EST 2018


On 2018-12-05 12:37-0800 Alan W. Irwin wrote:

> On 2018-12-05 09:22-0500 Brad King via cmake-developers wrote:
>
>> On 12/4/18 4:08 PM, Alan W. Irwin wrote:
>>>   Build Warnings (1)
>>> 
>>> *** WARNING non-zero return value in ctest from: 
>>> C:\cmake-3.13.1-win64-x64\bin\cmake.exe
>> 
>> That's in the "Build" section and indicates that the build command
>> exited with non-zero status.  If you want to try to reproduce that
>> by hand, run the `cmake --build . --config Debug` command rather
>> than `ctest`.
>> 
>> `cmake --build`'s exit code just forwards from the native build tool.
>> It may be that MSBuild has chosen to exist with non-zero for some reason.
>
> Hi Brad:
>
> Did you mean "ctest --build-and-test ..." rather than "cmake --build
> ..."?  I assume if the build part of "ctest --build-and-test ..."
> returned with some non-zero return code, then you would get a message
> like the above that mentions ctest in a way that implies it is running
> the show.  But I cannot see any way you could get such a WARNING
> message from "cmake --build ...".  I hasten to add that I have been
> completely content over the years to use cmake, make, and ctest
> separately, and I have no experience using them in an
> integrated way (e.g., "cmake --build ..."  or "ctest --build-and-test
> ..."). So my comment is based on my quick reading the appropriate
> sections of the man pages for cmake and ctest this morning, and I may
> have missed some way that a cmake command could generate what appears
> to be a message from ctest.

Never mind, I got it wrong.  I was too focussed on the "ctest" in the
above message, and it pretty clearly was issued "from:
C:\cmake-3.13.1-win64-x64\bin\cmake.exe"

But I still don't understand exactly how ctest is run from cmake.  Assuming the
"test" target (which I have never tried) runs the "all" target and then ctest,
I guess

cmake --build . --config Debug --target test

would run ctest indirectly after the "all" target was built, although
I haven't yet figured out how in this case that user specified the -D option to
submit a dashboard for that indirect ctest command.  But even if that
puzzle can be solved, the above message does mention ctest so I am pretty sure the above
message is not coming from that "all" target.  Which means
ctest itself is sending a non-zero return
code.  And for the "--target test" case I don't see how that indirect
ctest command could actually build anything.

Anyhow, if you still feel the above rather opaque message was really
from a PLplot build error on this guy's platform, then it appears to
me (since both cmake and ctest are mentioned in the message) that it
must be from cmake calling ctest which calls the build tool, but I
don't see how that is possible.

Alan
__________________________
Alan W. Irwin

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-developers mailing list