[CMake] Simultaneous --build-and-test and CDash submission

David Cole david.cole at kitware.com
Fri Dec 10 10:53:12 EST 2010


On Fri, Dec 10, 2010 at 10:42 AM, Wojciech Migda <wojtek.golf at interia.pl> wrote:
>>
>> You can do it all in one step with ctest, but you have to write a
>> ctest -S script, and call that... Inside it, you can do a "configure
>> from scratch" using the ctest_configure(...) command. Then you'll see
>> all the configure output submitted to the dashboard.
>>
>> Poke around the wiki and the mailing list for ctest -S script
>> documentation. (Go with a new style script that uses the commands
>> 'ctest_configure' and 'ctest_build' and 'ctest_test'.) Maybe somebody
>> else has time to chime in and give you more details.
>>
>>
>> Cheers,
>> David
>>
>
> Thanks fot hints - I finally managed to make it work using ctest scripting. Basic setup was quite easy, but for a longer while I coudn't find a way to have the BuildName and Site name being set - instead they were void. This resulted in having separate entries being shown in CDash for all three stages: configure, build and test. As suggested by wiki entries I tried playing with setting initial cache but it did not work. After few hours I found out that I need to set variables CTEST_BUILD_NAME and CTEST_SITE in the CTestConfig.cmake file. Once I did that the CDash entries were non-void and the submissions were merged together.
>
> With CTest -S working now I have a system with subprojects, and with labels not assigned as subprojects as well, what by the means of filtering feature gives me a very nice possibility to browse submissions by labels, something I asked about in one of my recent posts.
>
> Thanks,
>
> Wojtek
>
> ----------------------------------------------------------------------
> Szukasz pracy? Możemy Ci ją dać!
> Sprawdź >> http://linkint.pl/f288d
>
>


You should set CTEST_BUILD_NAME and CTEST_SITE directly in your ctest
script for a given machine. They should not be in CTestConfig.cmake
because that file is read on all machines, and only
machine-independent variables should be set in there.

Glad you got it working.


David


More information about the CMake mailing list