Я ищу способ автоматически генерировать файл заголовка. Этот файл является общедоступным интерфейсом библиотеки, и я хочу «заполнить» некоторые структуры и прочее перед компиляцией.
Например, в приватном заголовке у меня есть структура с полезными полями:
typedef struct mystuff_attr_t {
int _detachstate;
mystuff_scope_t _scope;
cpu_set_t _cpuset;
size_t _stacksize;
void* _stackaddr;
} mystuff_attr_t;
И я хотел бы иметь эту структуру в публичном заголовке без полей, но с тем же размером (в настоящее время делается вручную) следующим образом:
typedef struct mystuff_attr_t {
char _opaque[ 20 ];
} mystuff_attr_t;
Я хотел бы, чтобы это автоматически генерировалось CMake при создании системы сборки, чтобы избежать структуры неправильного размера в общедоступном интерфейсе, когда я изменяю структуру в частном заголовке.