[CMake] problems submitting nightly build with ctest for debug/release

Miguel A. Figueroa-Villanueva miguelf at msu.edu
Tue Oct 4 16:20:58 EDT 2005


David,

Thanks for your response. My comments below.

 > Configure:
 > If it were going to work, I don't think you need two configure
 > steps... Both Release and Debug should be configured for a DevStudio
 > build at the same time.

That's what I thought, but I guessed after a few unsuccessful trials I 
put "-C Debug/Release" everywhere out of desperation... I guess that's 
not the smartest way to do things! :)

> Test:
> It makes sense (to me) to only allow one configuration to be tested for 
> dashboard submission. The tests are named the same for Debug and 
> Release, so how would you distinguish which was which if they were both 
> submitted to the same dashboard? (This and the fact that there's only 
> one "Testing/Temporary" folder per binary tree, so test output from one 
> config would clobber test output from the other.)

I agree. I was planning on having two submits and pass the build name 
through a variable... Or I could have two scripts, but since I'm working 
on the same tree I didn't want to overwrite stuff already done (at least 
not until I had a better understanding of what was going on).

> Build:
> In the meantime, however, just for Windows, I can recommend a way that 
> at least gets both Release and Debug *built* for you.
> 
> Set your build command to:
> "devenv.com CMake.sln /build Release /project ALL_BUILD & devenv.com 
> CMake.sln /build Debug /project ALL_BUILD"

well, I've tried these individually and they work. So, I guess this 
should work. Thanks for the tip.

> Then you can always use "ctest -C Release" or "ctest -C Debug" from the 
> command line to test the individual builds even though you can't submit 
> them both to the same dashboard...

I can also live with building/testing both and sending one...

> On the other hand, why do you need to keep both in the same binary tree? 
> The vast majority of space consumed by the builds should be 
> approximately the same whether they are both built in the same tree or 
> whether you run two separate trees... Having two binary trees would 
> allow you to do things "the normal way." The only difference is you'll 
> have two dashboard entries that you have to look at.

It was suggested to me to have separate trees, but it's not a matter of 
space (actually, I'm considering it anyway). The real interest in having 
them in the same binary tree was because when using the VXL library 
(which uses dashboard testing) I include it using a UseVXL.cmake 
instruction in my the CMakeLists.txt for my code (which is in a separate 
tree). Then, when I'm working in MSVS my project automatically uses the 
debug or release version of VXL based on what I have selected in my 
project solution....

Since I'm not that familiar with CMake I don't know an easy way to have 
this behavior if VXL was built in separate binary trees (although from 
what I understand I get the feeling it should be possible given it's 
flexibility).

> 
> Hope this helps,

it definitely has, thanks.

--Miguel



More information about the CMake mailing list