CMake имеет известные ограничения на то, какие определения компиляции могут быть.
Среди этих ограничений есть определения в стиле функции (_LIB_FALLTHROUGH()
) и те, которые содержат двойные кавычки ("
).
Вместо того, чтобы пытаться преодолеть эти ограничения, рекомендуется создать отдельный файл заголовка со следующими определениями компиляции:
#define _LIB_EXCEPTION_ABI __attribute__((visibility("default")))
#define _LIB_FALLTHROUGH() ((void)0)
This файл заголовка может быть включен с параметром компилятора -include
(g cc) или параметром /FI
(Visual Studio).