Если вы используете достаточно свежую версию ctest (последняя официальная версия 2.8.6), то вы можете использовать подпись NAME / COMMAND для add_test вместе с опцией командной строки cmake --build, чтобы создать конкретную цели в вашем дереве сборки.
Например, следующее должно работать, предполагая пользовательскую цель (или библиотеку или исполняемую цель) с именем "tgt1":
add_test(NAME test.build.tgt1
WORKING_DIRECTORY ${CMAKE_BINARY_DIRECTORY}
COMMAND ${CMAKE_COMMAND} --build . --target tgt1 --config $<CONFIGURATION>
)
Это работает кроссплатформенно с одинаковым синтаксисом везде. Он даже работает с мультиконфигурационными генераторами, такими как Visual Studio и Xcode.