Je suis à la recherche d'un moyen de générer automatiquement un fichier d'en-tête. Ce fichier est l'interface publique d'une bibliothèque et je veux "remplir" certaines structures et d'autres choses avant la compilation.Comment générer automatiquement un fichier d'en-tête C à l'aide de CMake?
Par exemple, dans l'en-tête privé J'ai une structure avec des champs utiles:
typedef struct mystuff_attr_t {
int _detachstate;
mystuff_scope_t _scope;
cpu_set_t _cpuset;
size_t _stacksize;
void* _stackaddr;
} mystuff_attr_t;
Et je voudrais avoir cette structure dans l'en-tête public sans les champs, mais avec la même taille (actuellement réalisée manuellement) ainsi:
typedef struct mystuff_attr_t {
char _opaque[ 20 ];
} mystuff_attr_t;
Je voudrais avoir cette généré automatiquement par CMake lors de la création du système de construction afin d'éviter struct mauvaise taille dans l'interface publique lorsque je change la struct en-tête privé.
Exactement ce dont j'avais besoin, merci! –
Vous devez spécifier que vous devez ajouter la ligne: include (CheckTypeSize). –