Добавить команду bash в CMake test

Недавно я узнал о возможностях тестирования CMake. Я написал несколько тестовых клиентов, используя их, они работают нормально, но для выполнения тестов мне нужно:

cmake .. -> make -> затем запустить мою программу в фоновом режиме или в другом терминале -> make test (который запускает все тестовые клиенты / тестовые сценарии)

Допустим, я хочу команду: сделать тест не только для запуска тестов, но также для запуска исполняемого файла (который тестируется) в фоновом режиме и уничтожения его после завершения тестов. Как я могу передать команду bash через CMakeLists? Я еще не нашел простой способ достичь того, чего хочу

2

Решение

Вы можете сделать это с помощью ADD_CUSTOM_COMMAND, (CMake ADD_CUSTOM_COMMAND документы)

2

Другие решения

В ctest нет способа запустить процесс в фоновом режиме. Чтобы справиться с этим для таких проектов, как paraview, которые используют MPI, мы пишем программу драйвера c, которая запускает процессы и выполняет тест / тесты. По сути, каждый тест ctest должен быть чем-то, что выполняется и возвращает значение. Однако, конечно, ничто не мешает этому тесту запускать и останавливать как можно больше процессов.

2