Проект, который я компилирую, использует CMake, который любит абсолютные пути.
Когда я компилирую с включенной отладочной информацией, gcc помещает эти длинные имена в разделы .debug_str
, что плохо для отладки. Вместо этого я хотел бы иметь короткие относительные пути к корневому каталогу проекта.
Есть ли какая-нибудь возможность сказать gcc удалить часть имени пути перед отправкой отладочных данных? Или, может быть, есть какой-то инструмент, который может сделать это на скомпилированных двоичных файлах?
Я пытался использовать опцию SET(CMAKE_USE_RELATIVE_PATHS ON)
(которая, похоже, не одобряетсяразработчиками), но поскольку я использую сборки вне исходного кода, пути все еще не в той форме, в которой я бы хотел, чтобы они были. т.е. они ./../src/mod_foo/foo.c
вместо mod_foo/foo.c
.