В моем проекте есть файл, заключенный в директиву препроцессора ifdef
#ifdef SOME_SYMBOL
... entire file ...
#endif
SOME_SYMBOL определяется другим файлом, который был скомпилирован перед этим, и код работает, как и ожидалось, но статический анализатор не знает об этом символе и поэтому считает, что SOME_SYMBOL не определен. Весь файл не имеет подсветки синтаксиса, а часть анализа просто пропущена (например, подсветка синтаксических ошибок).
Есть ли способ указать анализатору, что этот символ следует рассматривать как определенный, не определяя его в CMakeLists.txt?
У меня нет возможности определить SOME_SYMBOL в CMakeLists.txt, поскольку проект зависит от того, что он не определен в некоторых путях компиляции (изменить это было бы почти невозможно).
Обновление:
Похоже, что в настоящее время это нерешенная проблема с JetBrains. См. Ошибка CPP-2286.