Я хочу использовать правило «compile-fail» для проверки корректности некоторых проверок этапа компиляции, но есть некоторые побочные эффекты, которые я не знаю как побороть.
Минимальный пример:
Jamfile.jam
import testing ;
compile-fail compile/1.cpp ;
1.cpp
not_the_code_to_be_compiled
На выходе я получаю
gcc.compile.c++ .build/test/1.test/gcc-4.7/release/1.o
test/compile/1.cpp:1:1: error: ‘not_the_code_to_be_compiled’ does not name a type
(failed-as-expected) .build/test/1.test/gcc-4.7/release/1.o
**passed** .build/test/1.test/gcc-4.7/release/1.test
...updated 3 targets...
Результат меня устраивает. Не устраивает одна маленькая особенность — в логе есть диагностическое сообщение компилятора. Диагностические сообщения могут быть большими (например при использовании шаблонов) и я хочу, чтобы они не попадали в выход. Меня бы устроило, если бы эти сообщения попадали в текстовый файл или просто не выводились на экран. Хочу, чтобы мой выход выглядел как-то так
gcc.compile.c++ .build/test/1.test/gcc-4.7/release/1.o
(failed-as-expected) .build/test/1.test/gcc-4.7/release/1.o
**passed** .build/test/1.test/gcc-4.7/release/1.test
...updated 3 targets...
Не смог найти в документации boost. Возможно искал не то или не там.