Не уверен, если решение или обходной путь, но это делает трюк (в моей ОС ...):
cmake -DCMAKE_CXX_CLANG_TIDY="${PATH_TO_SCRIPT}/suppress_exit_status.sh;clang-tidy"
PATH_TO_SCRIPT к скрипту - это абсолютный путь к suppress_exit_status.sh, который выглядит следующим образом:
#!/bin/sh
$@||echo Command \"$@\" failed with exit code $?
|| является оператором "или", второй операнд выполняется только в случае сбоя первого. Кажется, что cmake захватывает стандартную ошибку из команды и выдает ее, отсюда и сообщение об ошибке.
Я не мог найти более элегантный способ сделать это, невозможно бросить ||
непосредственно в CMAKE_CXX_CLANG_TIDY.