Hi,

I have a bunch of tests that are created with something like this:

ADD_TEST(mytest "executable_dir/${CTEST_CONFIGURATION_TYPE}/mytest.exe")

Running these with "ctest -C Debug" or "ctest -C Release" works fine. However I want to create a ctest script to build and test my project and it looks roughly like this:

SET(CTEST_SITE "mysite")
SET(CTEST_BUILD_NAME "mybuild")
SET(CTEST_SOURCE_DIRECTORY "src_dir")
SET(CTEST_BINARY_DIRECTORY "bin_dir")
SET(CTEST_CMAKE_GENERATOR "Visual Studio 7 .NET 2003")

SET(CTEST_BUILD_CONFIGURATION ${CTEST_CONFIGURATION_TYPE})
MESSAGE("config type = ${CTEST_CONFIGURATION_TYPE}")

CTEST_START(Nightly)
CTEST_UPDATE(SOURCE "${CTEST_SOURCE_DIRECTORY}")
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}")
CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}")
CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}")

If I run this with "ctest -C Debug -S myscript.ctest" the CTEST_CONFIGURATION_TYPE variable is empty and the the Release config is built instead (presumably the default) but when the tests run they look for the executable in the Debug directory. Alternatively, if I set both CTEST_BUILD_CONFIGURATION and CTEST_CONFIGURATION_TYPE to Debug in the script and run as "ctest -S myscript.ctest", the build works correctly, but the test fails because CTEST_CONFIGURATION_TYPE is empty when the test is run.

The only way I can get this to work as expected is to set CTEST_BUILD_CONFIGURATION to Debug in the script and also specify -C Debug on the command line. Is there a way around this or am I doing something wrong?

Thanks,
Mike

_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to