[CMake] CTest and multiple platform configurations

Clemens Arth clemens.arth at gmx.at
Fri Sep 19 08:19:16 EDT 2008


Hi,

I've now walked through the source, and it seems that using the -C 
option with ctest does not do anything (useful). I've tried it with the 
CDashTest project available from here

http://www.cdash.org/download/CDashTest.zip

For example, if I try to issue any test call from the command line like

ctest.exe -D Experimental

it works and builds everything as a Release configuration. However, if I 
call

ctest.exe -D Experimental -C Debug

it builds everything as a Release, but tries to finally "test" it as 
Debug (searches the executable in the Debug folder) which fails 
obviously. I think the problem is related to the

MakeCommand: C:\PROGRA~1\MICROS~1.0\Common7\IDE\devenv.com CDashTest.sln 
/build Release /project ALL_BUILD

entry in the DartConfiguration.tcl file, which does not ever change 
whatever is passed as -C option. It seems that some processing of the -C 
option is missing but I can't find the error. Can someone please verify 
this behaviour such that I can finally report it as a bug? For those 
trying it with Visual Studio they will experience the same - it works 
for a Release build, but fails for Debug.

Regards
Clemens

Clemens Arth schrieb:
> Hi,
>
> I'm currently trying to set up ctest to work with multiple 
> configurations. One issue I came across is the way of using ctest with 
> different platform configurations. For example, my configuration does 
> not only include Release|Win32 and Debug|Win32, but also 
> Release|Pocket PC 2003 (ARMV4) and Debug|Pocket PC 2003 (ARMV4). The 
> natural way of compiling it from the commandline is to use a command like
>
> C.\source>devenv.exe source.sln /build "Release|Pocket PC 2003 
> (ARMV4)" /project someproject
>
> This works well and it compiles everything for the correct platform 
> configuration. I thought it should also do in a CTestConfig.cmake, 
> using such a setup:
>
> ...
> SET (CTEST_COMMAND "ctest.exe -C \"Release|Pocket PC 2003 (ARMV4)\" -D 
> Experimental" )
>
> SET (CTEST_INITIAL_CACHE "
> SVNCOMMAND:FILEPATH=C:/cygwin/bin/svn.exe
> CMAKE_BUILD_TYPE:STRING=Release|Pocket PC 2003 (ARMV4)
> BUILDNAME:STRING=WinCE
> ")
> ...
>
> Unfortunately it does not compile the correct configuration, but 
> always sticks back to the standard (first) platform configuration. Is 
> this a bug (or a not implemented feature), or am I simply using it the 
> wrong way? I'll anyway have a look at the cmake sources again to find 
> out...
>
> Regards
> Clemens
>



More information about the CMake mailing list