+MACRO(SET_TESH_PROPERTIES NAME FACTORIES)
+ SET(ARGR ${ARGV})
+ LIST(REMOVE_AT ARGR 0) # remove name
+ FOREACH(I ${FACTORIES}) # remove all factories
+ LIST(REMOVE_AT ARGR 0)
+ ENDFOREACH()
+ FOREACH(FACTORY ${FACTORIES})
+ if ((${FACTORY} STREQUAL "thread" ) OR # Always available, thanks to C++11 threads
+ (${FACTORY} STREQUAL "boost" AND HAVE_BOOST_CONTEXTS) OR
+ (${FACTORY} STREQUAL "raw" AND HAVE_RAW_CONTEXTS) OR
+ (${FACTORY} STREQUAL "ucontext" AND HAVE_UCONTEXT_CONTEXTS))
+ set_tests_properties("${NAME}-${FACTORY}" PROPERTIES ${ARGR})
+ endif()
+ ENDFOREACH()
+ENDMACRO()
+