Все ответы хороши, но они подразумевают нарушение традиции для запуска теста командой make test
. Я сделал этот трюк:
add_test(NAME <mytest>
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND sh -c "make <mytarget>; $<TARGET_FILE:<mytarget>>")
Это означает, что тест состоит из построения (необязательно) и запуска исполняемой цели.