Я ищу способ автоматически генерировать заголовочный файл. Этот файл является открытым интерфейсом библиотеки, и я хочу «заполнить» некоторые структуры и прочее перед компиляцией.
Например, в приватном заголовке у меня есть структура с полезными полями:
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 автоматически генерировал это при создании системы сборки, чтобы избежать неправильной структуры размера в открытом интерфейсе при изменении структуры в частном заголовке.