Hi, I have a macro which takes a variety of arguments and does all the things necessary for making a test: compiling the exec (or copying the script), putting input files in the right place and setting desired properties on the test. I use the ParseArguments <http://www.cmake.org/Wiki/CMakeMacroParseArguments> macro found on the Wiki to handle all the switches and optional list arguments and at some point I ended up using this system to pass a PASS_REGULAR_EXPRESSION property through my macro and the argument parser. Unfortunately, by the time it was processed by the embedded SET_TESTS_PROPERTIES command, what would have been a simple:
SET_TESTS_PROPERTIES (Unscheduled_03_t PROPERTIES PASS_REGULAR_EXPRESSION "Assertion `handle.isValid\\(\\) == require_presence_' failed." ) command became: cet_test(Unscheduled_03_t HANDBUILT TEST_EXEC test_must_abort TEST_ARGS art -c "Unscheduled_03_t.fcl" TEST_PROPERTIES PASS_REGULAR_EXPRESSION "Assertion `handle.isValid\\\\\\\\(\\\\\\\\) == require_presence_' failed." DATAFILES fcl/Unscheduled_03_t.fcl fcl/messageDefaults.fcl ) Note that the parentheses required no less than eight backslash escapes each in order to be interpreted correctly by the time they were seen by the SET_TESTS_PROPERTIES command. Is there any way at all to pass this (or any other) argument through the cet_test macro's argument parser and embedded SET_TESTS_PROPERTIES command without getting all those backslashes swallowed? If not, can there be? For illustration purposes, the relevant lines from cet_macro are: MACRO(cet_test CET_TARGET) #<snip> CET_PARSE_ARGS(CET "DATAFILES;DEPENDENCIES;LIBRARIES;SOURCES;TEST_ARGS;TEST_EXEC;TEST_PROPERTIES" "HANDBUILT;PREBUILT;NO_AUTO;USE_BOOST_UNIT;INSTALL_EXAMPLE;INSTALL_SOURCE" ${ARGN} ) #<snip> IF(CET_TEST_PROPERTIES) SET_TESTS_PROPERTIES(${CET_TARGET} PROPERTIES ${CET_TEST_PROPERTIES}) ENDIF() #<snip> Thanks for your help, Chris.
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake